1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct CachedFileOptions(pub u32);
5 impl CachedFileOptions {
6     pub const None: CachedFileOptions = CachedFileOptions(0u32);
7     pub const RequireUpdateOnAccess: CachedFileOptions = CachedFileOptions(1u32);
8     pub const UseCachedFileWhenOffline: CachedFileOptions = CachedFileOptions(2u32);
9     pub const DenyAccessWhenOffline: CachedFileOptions = CachedFileOptions(4u32);
10 }
11 impl ::std::convert::From<u32> for CachedFileOptions {
from(value: u32) -> Self12     fn from(value: u32) -> Self {
13         Self(value)
14     }
15 }
16 unsafe impl ::windows::runtime::Abi for CachedFileOptions {
17     type Abi = Self;
18     type DefaultType = Self;
19 }
20 unsafe impl ::windows::runtime::RuntimeType for CachedFileOptions {
21     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.CachedFileOptions;u4)");
22 }
23 impl ::std::ops::BitOr for CachedFileOptions {
24     type Output = Self;
bitor(self, rhs: Self) -> Self25     fn bitor(self, rhs: Self) -> Self {
26         Self(self.0 | rhs.0)
27     }
28 }
29 impl ::std::ops::BitAnd for CachedFileOptions {
30     type Output = Self;
bitand(self, rhs: Self) -> Self31     fn bitand(self, rhs: Self) -> Self {
32         Self(self.0 & rhs.0)
33     }
34 }
35 impl ::std::ops::BitOrAssign for CachedFileOptions {
bitor_assign(&mut self, rhs: Self)36     fn bitor_assign(&mut self, rhs: Self) {
37         self.0.bitor_assign(rhs.0)
38     }
39 }
40 impl ::std::ops::BitAndAssign for CachedFileOptions {
bitand_assign(&mut self, rhs: Self)41     fn bitand_assign(&mut self, rhs: Self) {
42         self.0.bitand_assign(rhs.0)
43     }
44 }
45 impl ::std::ops::Not for CachedFileOptions {
46     type Output = Self;
not(self) -> Self47     fn not(self) -> Self {
48         Self(self.0.not())
49     }
50 }
51 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
52 #[repr(transparent)]
53 pub struct CachedFileTarget(pub i32);
54 impl CachedFileTarget {
55     pub const Local: CachedFileTarget = CachedFileTarget(0i32);
56     pub const Remote: CachedFileTarget = CachedFileTarget(1i32);
57 }
58 impl ::std::convert::From<i32> for CachedFileTarget {
from(value: i32) -> Self59     fn from(value: i32) -> Self {
60         Self(value)
61     }
62 }
63 unsafe impl ::windows::runtime::Abi for CachedFileTarget {
64     type Abi = Self;
65     type DefaultType = Self;
66 }
67 unsafe impl ::windows::runtime::RuntimeType for CachedFileTarget {
68     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.CachedFileTarget;i4)");
69 }
70 pub struct CachedFileUpdater {}
71 impl CachedFileUpdater {
SetUpdateInformation<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contentid: Param1, readmode: ReadActivationMode, writemode: WriteActivationMode, options: CachedFileOptions) -> ::windows::runtime::Result<()>72     pub fn SetUpdateInformation<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contentid: Param1, readmode: ReadActivationMode, writemode: WriteActivationMode, options: CachedFileOptions) -> ::windows::runtime::Result<()> {
73         Self::ICachedFileUpdaterStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), file.into_param().abi(), contentid.into_param().abi(), readmode, writemode, options).ok() })
74     }
ICachedFileUpdaterStatics<R, F: FnOnce(&ICachedFileUpdaterStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>75     pub fn ICachedFileUpdaterStatics<R, F: FnOnce(&ICachedFileUpdaterStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
76         static mut SHARED: ::windows::runtime::FactoryCache<CachedFileUpdater, ICachedFileUpdaterStatics> = ::windows::runtime::FactoryCache::new();
77         unsafe { SHARED.call(callback) }
78     }
79 }
80 impl ::windows::runtime::RuntimeName for CachedFileUpdater {
81     const NAME: &'static str = "Windows.Storage.Provider.CachedFileUpdater";
82 }
83 #[repr(transparent)]
84 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
85 pub struct CachedFileUpdaterUI(::windows::runtime::IInspectable);
86 impl CachedFileUpdaterUI {
Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>87     pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
88         let this = self;
89         unsafe {
90             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
91             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
92         }
93     }
SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>94     pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
95         let this = self;
96         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
97     }
UpdateTarget(&self) -> ::windows::runtime::Result<CachedFileTarget>98     pub fn UpdateTarget(&self) -> ::windows::runtime::Result<CachedFileTarget> {
99         let this = self;
100         unsafe {
101             let mut result__: CachedFileTarget = ::std::mem::zeroed();
102             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CachedFileTarget>(result__)
103         }
104     }
105     #[cfg(feature = "Foundation")]
FileUpdateRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CachedFileUpdaterUI, FileUpdateRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>106     pub fn FileUpdateRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CachedFileUpdaterUI, FileUpdateRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
107         let this = self;
108         unsafe {
109             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
110             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
111         }
112     }
113     #[cfg(feature = "Foundation")]
RemoveFileUpdateRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>114     pub fn RemoveFileUpdateRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
115         let this = self;
116         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
117     }
118     #[cfg(feature = "Foundation")]
UIRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CachedFileUpdaterUI, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>119     pub fn UIRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CachedFileUpdaterUI, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
120         let this = self;
121         unsafe {
122             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
123             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
124         }
125     }
126     #[cfg(feature = "Foundation")]
RemoveUIRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>127     pub fn RemoveUIRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
128         let this = self;
129         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
130     }
UIStatus(&self) -> ::windows::runtime::Result<UIStatus>131     pub fn UIStatus(&self) -> ::windows::runtime::Result<UIStatus> {
132         let this = self;
133         unsafe {
134             let mut result__: UIStatus = ::std::mem::zeroed();
135             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UIStatus>(result__)
136         }
137     }
UpdateRequest(&self) -> ::windows::runtime::Result<FileUpdateRequest>138     pub fn UpdateRequest(&self) -> ::windows::runtime::Result<FileUpdateRequest> {
139         let this = &::windows::runtime::Interface::cast::<ICachedFileUpdaterUI2>(self)?;
140         unsafe {
141             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
142             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileUpdateRequest>(result__)
143         }
144     }
GetDeferral(&self) -> ::windows::runtime::Result<FileUpdateRequestDeferral>145     pub fn GetDeferral(&self) -> ::windows::runtime::Result<FileUpdateRequestDeferral> {
146         let this = &::windows::runtime::Interface::cast::<ICachedFileUpdaterUI2>(self)?;
147         unsafe {
148             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
149             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileUpdateRequestDeferral>(result__)
150         }
151     }
152 }
153 unsafe impl ::windows::runtime::RuntimeType for CachedFileUpdaterUI {
154     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.CachedFileUpdaterUI;{9e6f41e6-baf2-4a97-b600-9333f5df80fd})");
155 }
156 unsafe impl ::windows::runtime::Interface for CachedFileUpdaterUI {
157     type Vtable = ICachedFileUpdaterUI_abi;
158     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2658091494, 47858, 19095, [182, 0, 147, 51, 245, 223, 128, 253]);
159 }
160 impl ::windows::runtime::RuntimeName for CachedFileUpdaterUI {
161     const NAME: &'static str = "Windows.Storage.Provider.CachedFileUpdaterUI";
162 }
163 impl ::std::convert::From<CachedFileUpdaterUI> for ::windows::runtime::IUnknown {
from(value: CachedFileUpdaterUI) -> Self164     fn from(value: CachedFileUpdaterUI) -> Self {
165         unsafe { ::std::mem::transmute(value) }
166     }
167 }
168 impl ::std::convert::From<&CachedFileUpdaterUI> for ::windows::runtime::IUnknown {
from(value: &CachedFileUpdaterUI) -> Self169     fn from(value: &CachedFileUpdaterUI) -> Self {
170         ::std::convert::From::from(::std::clone::Clone::clone(value))
171     }
172 }
173 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CachedFileUpdaterUI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>174     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
175         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
176     }
177 }
178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CachedFileUpdaterUI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
181     }
182 }
183 impl ::std::convert::From<CachedFileUpdaterUI> for ::windows::runtime::IInspectable {
from(value: CachedFileUpdaterUI) -> Self184     fn from(value: CachedFileUpdaterUI) -> Self {
185         value.0
186     }
187 }
188 impl ::std::convert::From<&CachedFileUpdaterUI> for ::windows::runtime::IInspectable {
from(value: &CachedFileUpdaterUI) -> Self189     fn from(value: &CachedFileUpdaterUI) -> Self {
190         value.0.clone()
191     }
192 }
193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CachedFileUpdaterUI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
195         ::windows::runtime::Param::Owned(self.0)
196     }
197 }
198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CachedFileUpdaterUI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
200         ::windows::runtime::Param::Borrowed(&self.0)
201     }
202 }
203 #[repr(C)]
204 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
205 pub struct CloudFilesContract(pub u8);
206 #[repr(transparent)]
207 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
208 pub struct FileUpdateRequest(::windows::runtime::IInspectable);
209 impl FileUpdateRequest {
ContentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>210     pub fn ContentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
211         let this = self;
212         unsafe {
213             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
214             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
215         }
216     }
File(&self) -> ::windows::runtime::Result<super::StorageFile>217     pub fn File(&self) -> ::windows::runtime::Result<super::StorageFile> {
218         let this = self;
219         unsafe {
220             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
221             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::StorageFile>(result__)
222         }
223     }
Status(&self) -> ::windows::runtime::Result<FileUpdateStatus>224     pub fn Status(&self) -> ::windows::runtime::Result<FileUpdateStatus> {
225         let this = self;
226         unsafe {
227             let mut result__: FileUpdateStatus = ::std::mem::zeroed();
228             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileUpdateStatus>(result__)
229         }
230     }
SetStatus(&self, value: FileUpdateStatus) -> ::windows::runtime::Result<()>231     pub fn SetStatus(&self, value: FileUpdateStatus) -> ::windows::runtime::Result<()> {
232         let this = self;
233         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
234     }
GetDeferral(&self) -> ::windows::runtime::Result<FileUpdateRequestDeferral>235     pub fn GetDeferral(&self) -> ::windows::runtime::Result<FileUpdateRequestDeferral> {
236         let this = self;
237         unsafe {
238             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
239             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileUpdateRequestDeferral>(result__)
240         }
241     }
UpdateLocalFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>>(&self, value: Param0) -> ::windows::runtime::Result<()>242     pub fn UpdateLocalFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
243         let this = self;
244         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
245     }
UserInputNeededMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>246     pub fn UserInputNeededMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
247         let this = &::windows::runtime::Interface::cast::<IFileUpdateRequest2>(self)?;
248         unsafe {
249             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
250             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
251         }
252     }
SetUserInputNeededMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>253     pub fn SetUserInputNeededMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
254         let this = &::windows::runtime::Interface::cast::<IFileUpdateRequest2>(self)?;
255         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
256     }
257 }
258 unsafe impl ::windows::runtime::RuntimeType for FileUpdateRequest {
259     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.FileUpdateRequest;{40c82536-c1fe-4d93-a792-1e736bc70837})");
260 }
261 unsafe impl ::windows::runtime::Interface for FileUpdateRequest {
262     type Vtable = IFileUpdateRequest_abi;
263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1086858550, 49662, 19859, [167, 146, 30, 115, 107, 199, 8, 55]);
264 }
265 impl ::windows::runtime::RuntimeName for FileUpdateRequest {
266     const NAME: &'static str = "Windows.Storage.Provider.FileUpdateRequest";
267 }
268 impl ::std::convert::From<FileUpdateRequest> for ::windows::runtime::IUnknown {
from(value: FileUpdateRequest) -> Self269     fn from(value: FileUpdateRequest) -> Self {
270         unsafe { ::std::mem::transmute(value) }
271     }
272 }
273 impl ::std::convert::From<&FileUpdateRequest> for ::windows::runtime::IUnknown {
from(value: &FileUpdateRequest) -> Self274     fn from(value: &FileUpdateRequest) -> Self {
275         ::std::convert::From::from(::std::clone::Clone::clone(value))
276     }
277 }
278 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FileUpdateRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>279     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
280         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
281     }
282 }
283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FileUpdateRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
286     }
287 }
288 impl ::std::convert::From<FileUpdateRequest> for ::windows::runtime::IInspectable {
from(value: FileUpdateRequest) -> Self289     fn from(value: FileUpdateRequest) -> Self {
290         value.0
291     }
292 }
293 impl ::std::convert::From<&FileUpdateRequest> for ::windows::runtime::IInspectable {
from(value: &FileUpdateRequest) -> Self294     fn from(value: &FileUpdateRequest) -> Self {
295         value.0.clone()
296     }
297 }
298 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FileUpdateRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>299     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
300         ::windows::runtime::Param::Owned(self.0)
301     }
302 }
303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FileUpdateRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
305         ::windows::runtime::Param::Borrowed(&self.0)
306     }
307 }
308 #[repr(transparent)]
309 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
310 pub struct FileUpdateRequestDeferral(::windows::runtime::IInspectable);
311 impl FileUpdateRequestDeferral {
Complete(&self) -> ::windows::runtime::Result<()>312     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
313         let this = self;
314         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
315     }
316 }
317 unsafe impl ::windows::runtime::RuntimeType for FileUpdateRequestDeferral {
318     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.FileUpdateRequestDeferral;{ffcedb2b-8ade-44a5-bb00-164c4e72f13a})");
319 }
320 unsafe impl ::windows::runtime::Interface for FileUpdateRequestDeferral {
321     type Vtable = IFileUpdateRequestDeferral_abi;
322     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4291746603, 35550, 17573, [187, 0, 22, 76, 78, 114, 241, 58]);
323 }
324 impl ::windows::runtime::RuntimeName for FileUpdateRequestDeferral {
325     const NAME: &'static str = "Windows.Storage.Provider.FileUpdateRequestDeferral";
326 }
327 impl ::std::convert::From<FileUpdateRequestDeferral> for ::windows::runtime::IUnknown {
from(value: FileUpdateRequestDeferral) -> Self328     fn from(value: FileUpdateRequestDeferral) -> Self {
329         unsafe { ::std::mem::transmute(value) }
330     }
331 }
332 impl ::std::convert::From<&FileUpdateRequestDeferral> for ::windows::runtime::IUnknown {
from(value: &FileUpdateRequestDeferral) -> Self333     fn from(value: &FileUpdateRequestDeferral) -> Self {
334         ::std::convert::From::from(::std::clone::Clone::clone(value))
335     }
336 }
337 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FileUpdateRequestDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>338     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
339         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
340     }
341 }
342 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FileUpdateRequestDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>343     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
344         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
345     }
346 }
347 impl ::std::convert::From<FileUpdateRequestDeferral> for ::windows::runtime::IInspectable {
from(value: FileUpdateRequestDeferral) -> Self348     fn from(value: FileUpdateRequestDeferral) -> Self {
349         value.0
350     }
351 }
352 impl ::std::convert::From<&FileUpdateRequestDeferral> for ::windows::runtime::IInspectable {
from(value: &FileUpdateRequestDeferral) -> Self353     fn from(value: &FileUpdateRequestDeferral) -> Self {
354         value.0.clone()
355     }
356 }
357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FileUpdateRequestDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
359         ::windows::runtime::Param::Owned(self.0)
360     }
361 }
362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FileUpdateRequestDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
364         ::windows::runtime::Param::Borrowed(&self.0)
365     }
366 }
367 #[repr(transparent)]
368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
369 pub struct FileUpdateRequestedEventArgs(::windows::runtime::IInspectable);
370 impl FileUpdateRequestedEventArgs {
Request(&self) -> ::windows::runtime::Result<FileUpdateRequest>371     pub fn Request(&self) -> ::windows::runtime::Result<FileUpdateRequest> {
372         let this = self;
373         unsafe {
374             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
375             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileUpdateRequest>(result__)
376         }
377     }
378 }
379 unsafe impl ::windows::runtime::RuntimeType for FileUpdateRequestedEventArgs {
380     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.FileUpdateRequestedEventArgs;{7b0a9342-3905-438d-aaef-78ae265f8dd2})");
381 }
382 unsafe impl ::windows::runtime::Interface for FileUpdateRequestedEventArgs {
383     type Vtable = IFileUpdateRequestedEventArgs_abi;
384     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2064290626, 14597, 17293, [170, 239, 120, 174, 38, 95, 141, 210]);
385 }
386 impl ::windows::runtime::RuntimeName for FileUpdateRequestedEventArgs {
387     const NAME: &'static str = "Windows.Storage.Provider.FileUpdateRequestedEventArgs";
388 }
389 impl ::std::convert::From<FileUpdateRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: FileUpdateRequestedEventArgs) -> Self390     fn from(value: FileUpdateRequestedEventArgs) -> Self {
391         unsafe { ::std::mem::transmute(value) }
392     }
393 }
394 impl ::std::convert::From<&FileUpdateRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &FileUpdateRequestedEventArgs) -> Self395     fn from(value: &FileUpdateRequestedEventArgs) -> Self {
396         ::std::convert::From::from(::std::clone::Clone::clone(value))
397     }
398 }
399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FileUpdateRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
401         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
402     }
403 }
404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FileUpdateRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
407     }
408 }
409 impl ::std::convert::From<FileUpdateRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: FileUpdateRequestedEventArgs) -> Self410     fn from(value: FileUpdateRequestedEventArgs) -> Self {
411         value.0
412     }
413 }
414 impl ::std::convert::From<&FileUpdateRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &FileUpdateRequestedEventArgs) -> Self415     fn from(value: &FileUpdateRequestedEventArgs) -> Self {
416         value.0.clone()
417     }
418 }
419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FileUpdateRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
421         ::windows::runtime::Param::Owned(self.0)
422     }
423 }
424 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FileUpdateRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>425     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
426         ::windows::runtime::Param::Borrowed(&self.0)
427     }
428 }
429 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
430 #[repr(transparent)]
431 pub struct FileUpdateStatus(pub i32);
432 impl FileUpdateStatus {
433     pub const Incomplete: FileUpdateStatus = FileUpdateStatus(0i32);
434     pub const Complete: FileUpdateStatus = FileUpdateStatus(1i32);
435     pub const UserInputNeeded: FileUpdateStatus = FileUpdateStatus(2i32);
436     pub const CurrentlyUnavailable: FileUpdateStatus = FileUpdateStatus(3i32);
437     pub const Failed: FileUpdateStatus = FileUpdateStatus(4i32);
438     pub const CompleteAndRenamed: FileUpdateStatus = FileUpdateStatus(5i32);
439 }
440 impl ::std::convert::From<i32> for FileUpdateStatus {
from(value: i32) -> Self441     fn from(value: i32) -> Self {
442         Self(value)
443     }
444 }
445 unsafe impl ::windows::runtime::Abi for FileUpdateStatus {
446     type Abi = Self;
447     type DefaultType = Self;
448 }
449 unsafe impl ::windows::runtime::RuntimeType for FileUpdateStatus {
450     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.FileUpdateStatus;i4)");
451 }
452 #[repr(transparent)]
453 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
454 #[doc(hidden)]
455 pub struct ICachedFileUpdaterStatics(::windows::runtime::IInspectable);
456 unsafe impl ::windows::runtime::Interface for ICachedFileUpdaterStatics {
457     type Vtable = ICachedFileUpdaterStatics_abi;
458     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2680752416, 31695, 18568, [168, 30, 16, 45, 112, 52, 215, 206]);
459 }
460 #[repr(C)]
461 #[doc(hidden)]
462 pub struct ICachedFileUpdaterStatics_abi(
463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, contentid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, readmode: ReadActivationMode, writemode: WriteActivationMode, options: CachedFileOptions) -> ::windows::runtime::HRESULT,
470 );
471 #[repr(transparent)]
472 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
473 #[doc(hidden)]
474 pub struct ICachedFileUpdaterUI(::windows::runtime::IInspectable);
475 unsafe impl ::windows::runtime::Interface for ICachedFileUpdaterUI {
476     type Vtable = ICachedFileUpdaterUI_abi;
477     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2658091494, 47858, 19095, [182, 0, 147, 51, 245, 223, 128, 253]);
478 }
479 #[repr(C)]
480 #[doc(hidden)]
481 pub struct ICachedFileUpdaterUI_abi(
482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CachedFileTarget) -> ::windows::runtime::HRESULT,
491     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
492     #[cfg(not(feature = "Foundation"))] usize,
493     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
494     #[cfg(not(feature = "Foundation"))] usize,
495     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
496     #[cfg(not(feature = "Foundation"))] usize,
497     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
498     #[cfg(not(feature = "Foundation"))] usize,
499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UIStatus) -> ::windows::runtime::HRESULT,
500 );
501 #[repr(transparent)]
502 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
503 #[doc(hidden)]
504 pub struct ICachedFileUpdaterUI2(::windows::runtime::IInspectable);
505 unsafe impl ::windows::runtime::Interface for ICachedFileUpdaterUI2 {
506     type Vtable = ICachedFileUpdaterUI2_abi;
507     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2287378972, 34457, 17216, [159, 73, 247, 202, 215, 254, 137, 145]);
508 }
509 #[repr(C)]
510 #[doc(hidden)]
511 pub struct ICachedFileUpdaterUI2_abi(
512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
520 );
521 #[repr(transparent)]
522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
523 #[doc(hidden)]
524 pub struct IFileUpdateRequest(::windows::runtime::IInspectable);
525 unsafe impl ::windows::runtime::Interface for IFileUpdateRequest {
526     type Vtable = IFileUpdateRequest_abi;
527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1086858550, 49662, 19859, [167, 146, 30, 115, 107, 199, 8, 55]);
528 }
529 #[repr(C)]
530 #[doc(hidden)]
531 pub struct IFileUpdateRequest_abi(
532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FileUpdateStatus) -> ::windows::runtime::HRESULT,
541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FileUpdateStatus) -> ::windows::runtime::HRESULT,
542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
544 );
545 #[repr(transparent)]
546 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
547 #[doc(hidden)]
548 pub struct IFileUpdateRequest2(::windows::runtime::IInspectable);
549 unsafe impl ::windows::runtime::Interface for IFileUpdateRequest2 {
550     type Vtable = IFileUpdateRequest2_abi;
551     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2185774664, 48574, 17531, [162, 238, 122, 254, 106, 3, 42, 148]);
552 }
553 #[repr(C)]
554 #[doc(hidden)]
555 pub struct IFileUpdateRequest2_abi(
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
564 );
565 #[repr(transparent)]
566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
567 #[doc(hidden)]
568 pub struct IFileUpdateRequestDeferral(::windows::runtime::IInspectable);
569 unsafe impl ::windows::runtime::Interface for IFileUpdateRequestDeferral {
570     type Vtable = IFileUpdateRequestDeferral_abi;
571     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4291746603, 35550, 17573, [187, 0, 22, 76, 78, 114, 241, 58]);
572 }
573 #[repr(C)]
574 #[doc(hidden)]
575 pub struct IFileUpdateRequestDeferral_abi(
576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
583 );
584 #[repr(transparent)]
585 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
586 #[doc(hidden)]
587 pub struct IFileUpdateRequestedEventArgs(::windows::runtime::IInspectable);
588 unsafe impl ::windows::runtime::Interface for IFileUpdateRequestedEventArgs {
589     type Vtable = IFileUpdateRequestedEventArgs_abi;
590     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2064290626, 14597, 17293, [170, 239, 120, 174, 38, 95, 141, 210]);
591 }
592 #[repr(C)]
593 #[doc(hidden)]
594 pub struct IFileUpdateRequestedEventArgs_abi(
595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
602 );
603 #[repr(transparent)]
604 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
605 #[doc(hidden)]
606 pub struct IStorageProviderError(::windows::runtime::IInspectable);
607 unsafe impl ::windows::runtime::Interface for IStorageProviderError {
608     type Vtable = IStorageProviderError_abi;
609     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1207072779, 61311, 22800, [191, 131, 51, 29, 137, 37, 102, 21]);
610 }
611 #[repr(C)]
612 #[doc(hidden)]
613 pub struct IStorageProviderError_abi(
614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
631 );
632 #[repr(transparent)]
633 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
634 #[doc(hidden)]
635 pub struct IStorageProviderErrorCommand(::windows::runtime::IInspectable);
636 unsafe impl ::windows::runtime::Interface for IStorageProviderErrorCommand {
637     type Vtable = IStorageProviderErrorCommand_abi;
638     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3065088749, 47973, 24358, [134, 228, 29, 62, 52, 213, 68, 119]);
639 }
640 #[repr(C)]
641 #[doc(hidden)]
642 pub struct IStorageProviderErrorCommand_abi(
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
650     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
651     #[cfg(not(feature = "Foundation"))] usize,
652 );
653 #[repr(transparent)]
654 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
655 #[doc(hidden)]
656 pub struct IStorageProviderErrorCommandFactory(::windows::runtime::IInspectable);
657 unsafe impl ::windows::runtime::Interface for IStorageProviderErrorCommandFactory {
658     type Vtable = IStorageProviderErrorCommandFactory_abi;
659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3972134229, 15028, 21871, [139, 178, 126, 85, 21, 238, 216, 220]);
660 }
661 #[repr(C)]
662 #[doc(hidden)]
663 pub struct IStorageProviderErrorCommandFactory_abi(
664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
670     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, label: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, actionuri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
671     #[cfg(not(feature = "Foundation"))] usize,
672 );
673 #[repr(transparent)]
674 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
675 #[doc(hidden)]
676 pub struct IStorageProviderErrorFactory(::windows::runtime::IInspectable);
677 unsafe impl ::windows::runtime::Interface for IStorageProviderErrorFactory {
678     type Vtable = IStorageProviderErrorFactory_abi;
679     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2547446336, 25003, 20956, [153, 33, 24, 189, 13, 190, 247, 158]);
680 }
681 #[repr(C)]
682 #[doc(hidden)]
683 pub struct IStorageProviderErrorFactory_abi(
684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, title: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, message: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
691 );
692 #[repr(transparent)]
693 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
694 #[doc(hidden)]
695 pub struct IStorageProviderFileTypeInfo(::windows::runtime::IInspectable);
696 unsafe impl ::windows::runtime::Interface for IStorageProviderFileTypeInfo {
697     type Vtable = IStorageProviderFileTypeInfo_abi;
698     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(425048513, 388, 23176, [135, 223, 69, 68, 244, 100, 54, 93]);
699 }
700 #[repr(C)]
701 #[doc(hidden)]
702 pub struct IStorageProviderFileTypeInfo_abi(
703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
711 );
712 #[repr(transparent)]
713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
714 #[doc(hidden)]
715 pub struct IStorageProviderFileTypeInfoFactory(::windows::runtime::IInspectable);
716 unsafe impl ::windows::runtime::Interface for IStorageProviderFileTypeInfoFactory {
717     type Vtable = IStorageProviderFileTypeInfoFactory_abi;
718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1067527279, 52454, 23901, [128, 177, 56, 158, 124, 249, 45, 191]);
719 }
720 #[repr(C)]
721 #[doc(hidden)]
722 pub struct IStorageProviderFileTypeInfoFactory_abi(
723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fileextension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, iconresource: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
730 );
731 #[repr(transparent)]
732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
733 #[doc(hidden)]
734 pub struct IStorageProviderGetContentInfoForPathResult(::windows::runtime::IInspectable);
735 unsafe impl ::windows::runtime::Interface for IStorageProviderGetContentInfoForPathResult {
736     type Vtable = IStorageProviderGetContentInfoForPathResult_abi;
737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(627339549, 43657, 19730, [130, 227, 247, 42, 146, 227, 57, 102]);
738 }
739 #[repr(C)]
740 #[doc(hidden)]
741 pub struct IStorageProviderGetContentInfoForPathResult_abi(
742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderUriSourceStatus) -> ::windows::runtime::HRESULT,
749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderUriSourceStatus) -> ::windows::runtime::HRESULT,
750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
754 );
755 #[repr(transparent)]
756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
757 #[doc(hidden)]
758 pub struct IStorageProviderGetPathForContentUriResult(::windows::runtime::IInspectable);
759 unsafe impl ::windows::runtime::Interface for IStorageProviderGetPathForContentUriResult {
760     type Vtable = IStorageProviderGetPathForContentUriResult_abi;
761     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1668356765, 16664, 17830, [172, 182, 34, 196, 157, 1, 159, 64]);
762 }
763 #[repr(C)]
764 #[doc(hidden)]
765 pub struct IStorageProviderGetPathForContentUriResult_abi(
766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderUriSourceStatus) -> ::windows::runtime::HRESULT,
773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderUriSourceStatus) -> ::windows::runtime::HRESULT,
774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
776 );
777 #[repr(transparent)]
778 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
779 pub struct IStorageProviderHandlerFactory(::windows::runtime::IInspectable);
780 unsafe impl ::windows::runtime::Interface for IStorageProviderHandlerFactory {
781     type Vtable = IStorageProviderHandlerFactory_abi;
782     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1632951354, 64541, 23214, [158, 35, 232, 101, 154, 34, 197, 246]);
783 }
784 impl IStorageProviderHandlerFactory {
GetStatusSource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, syncrootid: Param0) -> ::windows::runtime::Result<IStorageProviderStatusSource>785     pub fn GetStatusSource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, syncrootid: Param0) -> ::windows::runtime::Result<IStorageProviderStatusSource> {
786         let this = self;
787         unsafe {
788             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
789             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), syncrootid.into_param().abi(), &mut result__).from_abi::<IStorageProviderStatusSource>(result__)
790         }
791     }
792 }
793 unsafe impl ::windows::runtime::RuntimeType for IStorageProviderHandlerFactory {
794     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{6154dc3a-fc1d-5aae-9e23-e8659a22c5f6}");
795 }
796 impl ::std::convert::From<IStorageProviderHandlerFactory> for ::windows::runtime::IUnknown {
from(value: IStorageProviderHandlerFactory) -> Self797     fn from(value: IStorageProviderHandlerFactory) -> Self {
798         unsafe { ::std::mem::transmute(value) }
799     }
800 }
801 impl ::std::convert::From<&IStorageProviderHandlerFactory> for ::windows::runtime::IUnknown {
from(value: &IStorageProviderHandlerFactory) -> Self802     fn from(value: &IStorageProviderHandlerFactory) -> Self {
803         ::std::convert::From::from(::std::clone::Clone::clone(value))
804     }
805 }
806 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageProviderHandlerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>807     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
808         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
809     }
810 }
811 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageProviderHandlerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>812     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
813         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
814     }
815 }
816 impl ::std::convert::From<IStorageProviderHandlerFactory> for ::windows::runtime::IInspectable {
from(value: IStorageProviderHandlerFactory) -> Self817     fn from(value: IStorageProviderHandlerFactory) -> Self {
818         value.0
819     }
820 }
821 impl ::std::convert::From<&IStorageProviderHandlerFactory> for ::windows::runtime::IInspectable {
from(value: &IStorageProviderHandlerFactory) -> Self822     fn from(value: &IStorageProviderHandlerFactory) -> Self {
823         value.0.clone()
824     }
825 }
826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageProviderHandlerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
828         ::windows::runtime::Param::Owned(self.0)
829     }
830 }
831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageProviderHandlerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
833         ::windows::runtime::Param::Borrowed(&self.0)
834     }
835 }
836 #[repr(C)]
837 #[doc(hidden)]
838 pub struct IStorageProviderHandlerFactory_abi(
839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, syncrootid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
846 );
847 #[repr(transparent)]
848 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
849 #[doc(hidden)]
850 pub struct IStorageProviderItemPropertiesStatics(::windows::runtime::IInspectable);
851 unsafe impl ::windows::runtime::Interface for IStorageProviderItemPropertiesStatics {
852     type Vtable = IStorageProviderItemPropertiesStatics_abi;
853     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(757865623, 9988, 18217, [143, 169, 126, 107, 142, 21, 140, 47]);
854 }
855 #[repr(C)]
856 #[doc(hidden)]
857 pub struct IStorageProviderItemPropertiesStatics_abi(
858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
864     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::windows::runtime::RawPtr, itemproperties: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
865     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
866 );
867 #[repr(transparent)]
868 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
869 #[doc(hidden)]
870 pub struct IStorageProviderItemProperty(::windows::runtime::IInspectable);
871 unsafe impl ::windows::runtime::Interface for IStorageProviderItemProperty {
872     type Vtable = IStorageProviderItemProperty_abi;
873     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1198306648, 29451, 16776, [183, 181, 99, 183, 22, 237, 71, 109]);
874 }
875 #[repr(C)]
876 #[doc(hidden)]
877 pub struct IStorageProviderItemProperty_abi(
878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
890 );
891 #[repr(transparent)]
892 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
893 #[doc(hidden)]
894 pub struct IStorageProviderItemPropertyDefinition(::windows::runtime::IInspectable);
895 unsafe impl ::windows::runtime::Interface for IStorageProviderItemPropertyDefinition {
896     type Vtable = IStorageProviderItemPropertyDefinition_abi;
897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316876219, 65311, 17048, [131, 30, 255, 28, 8, 8, 150, 144]);
898 }
899 #[repr(C)]
900 #[doc(hidden)]
901 pub struct IStorageProviderItemPropertyDefinition_abi(
902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
912 );
913 #[repr(transparent)]
914 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
915 pub struct IStorageProviderItemPropertySource(::windows::runtime::IInspectable);
916 unsafe impl ::windows::runtime::Interface for IStorageProviderItemPropertySource {
917     type Vtable = IStorageProviderItemPropertySource_abi;
918     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2406456382, 63026, 19099, [141, 153, 210, 215, 161, 29, 245, 106]);
919 }
920 impl IStorageProviderItemPropertySource {
921     #[cfg(feature = "Foundation_Collections")]
GetItemProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, itempath: Param0) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterable<StorageProviderItemProperty>>922     pub fn GetItemProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, itempath: Param0) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterable<StorageProviderItemProperty>> {
923         let this = self;
924         unsafe {
925             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
926             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), itempath.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::Collections::IIterable<StorageProviderItemProperty>>(result__)
927         }
928     }
929 }
930 unsafe impl ::windows::runtime::RuntimeType for IStorageProviderItemPropertySource {
931     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{8f6f9c3e-f632-4a9b-8d99-d2d7a11df56a}");
932 }
933 impl ::std::convert::From<IStorageProviderItemPropertySource> for ::windows::runtime::IUnknown {
from(value: IStorageProviderItemPropertySource) -> Self934     fn from(value: IStorageProviderItemPropertySource) -> Self {
935         unsafe { ::std::mem::transmute(value) }
936     }
937 }
938 impl ::std::convert::From<&IStorageProviderItemPropertySource> for ::windows::runtime::IUnknown {
from(value: &IStorageProviderItemPropertySource) -> Self939     fn from(value: &IStorageProviderItemPropertySource) -> Self {
940         ::std::convert::From::from(::std::clone::Clone::clone(value))
941     }
942 }
943 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageProviderItemPropertySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>944     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
945         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
946     }
947 }
948 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageProviderItemPropertySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>949     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
950         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
951     }
952 }
953 impl ::std::convert::From<IStorageProviderItemPropertySource> for ::windows::runtime::IInspectable {
from(value: IStorageProviderItemPropertySource) -> Self954     fn from(value: IStorageProviderItemPropertySource) -> Self {
955         value.0
956     }
957 }
958 impl ::std::convert::From<&IStorageProviderItemPropertySource> for ::windows::runtime::IInspectable {
from(value: &IStorageProviderItemPropertySource) -> Self959     fn from(value: &IStorageProviderItemPropertySource) -> Self {
960         value.0.clone()
961     }
962 }
963 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageProviderItemPropertySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>964     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
965         ::windows::runtime::Param::Owned(self.0)
966     }
967 }
968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageProviderItemPropertySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
970         ::windows::runtime::Param::Borrowed(&self.0)
971     }
972 }
973 #[repr(C)]
974 #[doc(hidden)]
975 pub struct IStorageProviderItemPropertySource_abi(
976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
982     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itempath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
983     #[cfg(not(feature = "Foundation_Collections"))] usize,
984 );
985 #[repr(transparent)]
986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
987 pub struct IStorageProviderPropertyCapabilities(::windows::runtime::IInspectable);
988 unsafe impl ::windows::runtime::Interface for IStorageProviderPropertyCapabilities {
989     type Vtable = IStorageProviderPropertyCapabilities_abi;
990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1703751438, 25527, 17767, [172, 249, 81, 171, 227, 1, 221, 165]);
991 }
992 impl IStorageProviderPropertyCapabilities {
IsPropertySupported<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertycanonicalname: Param0) -> ::windows::runtime::Result<bool>993     pub fn IsPropertySupported<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertycanonicalname: Param0) -> ::windows::runtime::Result<bool> {
994         let this = self;
995         unsafe {
996             let mut result__: bool = ::std::mem::zeroed();
997             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertycanonicalname.into_param().abi(), &mut result__).from_abi::<bool>(result__)
998         }
999     }
1000 }
1001 unsafe impl ::windows::runtime::RuntimeType for IStorageProviderPropertyCapabilities {
1002     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{658d2f0e-63b7-4567-acf9-51abe301dda5}");
1003 }
1004 impl ::std::convert::From<IStorageProviderPropertyCapabilities> for ::windows::runtime::IUnknown {
from(value: IStorageProviderPropertyCapabilities) -> Self1005     fn from(value: IStorageProviderPropertyCapabilities) -> Self {
1006         unsafe { ::std::mem::transmute(value) }
1007     }
1008 }
1009 impl ::std::convert::From<&IStorageProviderPropertyCapabilities> for ::windows::runtime::IUnknown {
from(value: &IStorageProviderPropertyCapabilities) -> Self1010     fn from(value: &IStorageProviderPropertyCapabilities) -> Self {
1011         ::std::convert::From::from(::std::clone::Clone::clone(value))
1012     }
1013 }
1014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageProviderPropertyCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1016         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1017     }
1018 }
1019 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageProviderPropertyCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1020     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1021         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1022     }
1023 }
1024 impl ::std::convert::From<IStorageProviderPropertyCapabilities> for ::windows::runtime::IInspectable {
from(value: IStorageProviderPropertyCapabilities) -> Self1025     fn from(value: IStorageProviderPropertyCapabilities) -> Self {
1026         value.0
1027     }
1028 }
1029 impl ::std::convert::From<&IStorageProviderPropertyCapabilities> for ::windows::runtime::IInspectable {
from(value: &IStorageProviderPropertyCapabilities) -> Self1030     fn from(value: &IStorageProviderPropertyCapabilities) -> Self {
1031         value.0.clone()
1032     }
1033 }
1034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageProviderPropertyCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1036         ::windows::runtime::Param::Owned(self.0)
1037     }
1038 }
1039 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageProviderPropertyCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1040     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1041         ::windows::runtime::Param::Borrowed(&self.0)
1042     }
1043 }
1044 #[repr(C)]
1045 #[doc(hidden)]
1046 pub struct IStorageProviderPropertyCapabilities_abi(
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertycanonicalname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut bool) -> ::windows::runtime::HRESULT,
1054 );
1055 #[repr(transparent)]
1056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1057 #[doc(hidden)]
1058 pub struct IStorageProviderStatus(::windows::runtime::IInspectable);
1059 unsafe impl ::windows::runtime::Interface for IStorageProviderStatus {
1060     type Vtable = IStorageProviderStatus_abi;
1061     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4285429277, 64395, 22211, [158, 122, 5, 48, 157, 25, 31, 180]);
1062 }
1063 #[repr(C)]
1064 #[doc(hidden)]
1065 pub struct IStorageProviderStatus_abi(
1066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderState) -> ::windows::runtime::HRESULT,
1074     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1075     #[cfg(not(feature = "Foundation_Collections"))] usize,
1076 );
1077 #[repr(transparent)]
1078 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1079 #[doc(hidden)]
1080 pub struct IStorageProviderStatusFactory(::windows::runtime::IInspectable);
1081 unsafe impl ::windows::runtime::Interface for IStorageProviderStatusFactory {
1082     type Vtable = IStorageProviderStatusFactory_abi;
1083     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3595053253, 39802, 24484, [177, 38, 144, 189, 24, 147, 108, 127]);
1084 }
1085 #[repr(C)]
1086 #[doc(hidden)]
1087 pub struct IStorageProviderStatusFactory_abi(
1088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: StorageProviderState, message: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1095     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: StorageProviderState, message: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, errormessages: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1096     #[cfg(not(feature = "Foundation_Collections"))] usize,
1097 );
1098 #[repr(transparent)]
1099 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1100 pub struct IStorageProviderStatusSource(::windows::runtime::IInspectable);
1101 unsafe impl ::windows::runtime::Interface for IStorageProviderStatusSource {
1102     type Vtable = IStorageProviderStatusSource_abi;
1103     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(774990770, 64835, 21301, [179, 196, 169, 98, 238, 49, 209, 126]);
1104 }
1105 impl IStorageProviderStatusSource {
GetStatus(&self) -> ::windows::runtime::Result<StorageProviderStatus>1106     pub fn GetStatus(&self) -> ::windows::runtime::Result<StorageProviderStatus> {
1107         let this = self;
1108         unsafe {
1109             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1110             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderStatus>(result__)
1111         }
1112     }
1113     #[cfg(feature = "Foundation")]
Changed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<IStorageProviderStatusSource, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1114     pub fn Changed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<IStorageProviderStatusSource, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1115         let this = self;
1116         unsafe {
1117             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1118             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1119         }
1120     }
1121     #[cfg(feature = "Foundation")]
RemoveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1122     pub fn RemoveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1123         let this = self;
1124         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1125     }
1126 }
1127 unsafe impl ::windows::runtime::RuntimeType for IStorageProviderStatusSource {
1128     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{2e316bb2-fd43-5335-b3c4-a962ee31d17e}");
1129 }
1130 impl ::std::convert::From<IStorageProviderStatusSource> for ::windows::runtime::IUnknown {
from(value: IStorageProviderStatusSource) -> Self1131     fn from(value: IStorageProviderStatusSource) -> Self {
1132         unsafe { ::std::mem::transmute(value) }
1133     }
1134 }
1135 impl ::std::convert::From<&IStorageProviderStatusSource> for ::windows::runtime::IUnknown {
from(value: &IStorageProviderStatusSource) -> Self1136     fn from(value: &IStorageProviderStatusSource) -> Self {
1137         ::std::convert::From::from(::std::clone::Clone::clone(value))
1138     }
1139 }
1140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageProviderStatusSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1143     }
1144 }
1145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageProviderStatusSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1147         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1148     }
1149 }
1150 impl ::std::convert::From<IStorageProviderStatusSource> for ::windows::runtime::IInspectable {
from(value: IStorageProviderStatusSource) -> Self1151     fn from(value: IStorageProviderStatusSource) -> Self {
1152         value.0
1153     }
1154 }
1155 impl ::std::convert::From<&IStorageProviderStatusSource> for ::windows::runtime::IInspectable {
from(value: &IStorageProviderStatusSource) -> Self1156     fn from(value: &IStorageProviderStatusSource) -> Self {
1157         value.0.clone()
1158     }
1159 }
1160 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageProviderStatusSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1161     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1162         ::windows::runtime::Param::Owned(self.0)
1163     }
1164 }
1165 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageProviderStatusSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1166     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1167         ::windows::runtime::Param::Borrowed(&self.0)
1168     }
1169 }
1170 #[repr(C)]
1171 #[doc(hidden)]
1172 pub struct IStorageProviderStatusSource_abi(
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1180     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1181     #[cfg(not(feature = "Foundation"))] usize,
1182     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1183     #[cfg(not(feature = "Foundation"))] usize,
1184 );
1185 #[repr(transparent)]
1186 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1187 #[doc(hidden)]
1188 pub struct IStorageProviderSyncRootInfo(::windows::runtime::IInspectable);
1189 unsafe impl ::windows::runtime::Interface for IStorageProviderSyncRootInfo {
1190     type Vtable = IStorageProviderSyncRootInfo_abi;
1191     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2081621444, 39417, 16812, [137, 4, 171, 5, 93, 101, 73, 38]);
1192 }
1193 #[repr(C)]
1194 #[doc(hidden)]
1195 pub struct IStorageProviderSyncRootInfo_abi(
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1204     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1205     #[cfg(not(feature = "Storage_Streams"))] usize,
1206     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1207     #[cfg(not(feature = "Storage_Streams"))] usize,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderHydrationPolicy) -> ::windows::runtime::HRESULT,
1215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderHydrationPolicy) -> ::windows::runtime::HRESULT,
1216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderHydrationPolicyModifier) -> ::windows::runtime::HRESULT,
1217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderHydrationPolicyModifier) -> ::windows::runtime::HRESULT,
1218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderPopulationPolicy) -> ::windows::runtime::HRESULT,
1219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderPopulationPolicy) -> ::windows::runtime::HRESULT,
1220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderInSyncPolicy) -> ::windows::runtime::HRESULT,
1221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderInSyncPolicy) -> ::windows::runtime::HRESULT,
1222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderHardlinkPolicy) -> ::windows::runtime::HRESULT,
1223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderHardlinkPolicy) -> ::windows::runtime::HRESULT,
1224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageProviderProtectionMode) -> ::windows::runtime::HRESULT,
1229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StorageProviderProtectionMode) -> ::windows::runtime::HRESULT,
1230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1232     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1233     #[cfg(not(feature = "Foundation_Collections"))] usize,
1234     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1235     #[cfg(not(feature = "Foundation"))] usize,
1236     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1237     #[cfg(not(feature = "Foundation"))] usize,
1238 );
1239 #[repr(transparent)]
1240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1241 #[doc(hidden)]
1242 pub struct IStorageProviderSyncRootInfo2(::windows::runtime::IInspectable);
1243 unsafe impl ::windows::runtime::Interface for IStorageProviderSyncRootInfo2 {
1244     type Vtable = IStorageProviderSyncRootInfo2_abi;
1245     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3478237219, 31985, 20838, [189, 186, 239, 217, 95, 82, 158, 49]);
1246 }
1247 #[repr(C)]
1248 #[doc(hidden)]
1249 pub struct IStorageProviderSyncRootInfo2_abi(
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1258 );
1259 #[repr(transparent)]
1260 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1261 #[doc(hidden)]
1262 pub struct IStorageProviderSyncRootInfo3(::windows::runtime::IInspectable);
1263 unsafe impl ::windows::runtime::Interface for IStorageProviderSyncRootInfo3 {
1264     type Vtable = IStorageProviderSyncRootInfo3_abi;
1265     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1350198807, 48886, 22269, [133, 94, 117, 172, 226, 228, 92, 245]);
1266 }
1267 #[repr(C)]
1268 #[doc(hidden)]
1269 pub struct IStorageProviderSyncRootInfo3_abi(
1270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1276     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1277     #[cfg(not(feature = "Foundation_Collections"))] usize,
1278 );
1279 #[repr(transparent)]
1280 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1281 #[doc(hidden)]
1282 pub struct IStorageProviderSyncRootManagerStatics(::windows::runtime::IInspectable);
1283 unsafe impl ::windows::runtime::Interface for IStorageProviderSyncRootManagerStatics {
1284     type Vtable = IStorageProviderSyncRootManagerStatics_abi;
1285     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1050278847, 36835, 19264, [171, 199, 246, 252, 61, 116, 201, 142]);
1286 }
1287 #[repr(C)]
1288 #[doc(hidden)]
1289 pub struct IStorageProviderSyncRootManagerStatics_abi(
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, syncrootinformation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folder: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1300     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1301     #[cfg(not(feature = "Foundation_Collections"))] usize,
1302 );
1303 #[repr(transparent)]
1304 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1305 #[doc(hidden)]
1306 pub struct IStorageProviderSyncRootManagerStatics2(::windows::runtime::IInspectable);
1307 unsafe impl ::windows::runtime::Interface for IStorageProviderSyncRootManagerStatics2 {
1308     type Vtable = IStorageProviderSyncRootManagerStatics2_abi;
1309     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4021735406, 4980, 21582, [157, 241, 85, 152, 210, 233, 207, 221]);
1310 }
1311 #[repr(C)]
1312 #[doc(hidden)]
1313 pub struct IStorageProviderSyncRootManagerStatics2_abi(
1314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1321 );
1322 #[repr(transparent)]
1323 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1324 pub struct IStorageProviderUriSource(::windows::runtime::IInspectable);
1325 unsafe impl ::windows::runtime::Interface for IStorageProviderUriSource {
1326     type Vtable = IStorageProviderUriSource_abi;
1327     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2996307665, 35808, 18786, [139, 182, 13, 76, 46, 20, 212, 122]);
1328 }
1329 impl IStorageProviderUriSource {
GetPathForContentUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StorageProviderGetPathForContentUriResult>>(&self, contenturi: Param0, result: Param1) -> ::windows::runtime::Result<()>1330     pub fn GetPathForContentUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StorageProviderGetPathForContentUriResult>>(&self, contenturi: Param0, result: Param1) -> ::windows::runtime::Result<()> {
1331         let this = self;
1332         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), contenturi.into_param().abi(), result.into_param().abi()).ok() }
1333     }
GetContentInfoForPath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StorageProviderGetContentInfoForPathResult>>(&self, path: Param0, result: Param1) -> ::windows::runtime::Result<()>1334     pub fn GetContentInfoForPath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StorageProviderGetContentInfoForPathResult>>(&self, path: Param0, result: Param1) -> ::windows::runtime::Result<()> {
1335         let this = self;
1336         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), path.into_param().abi(), result.into_param().abi()).ok() }
1337     }
1338 }
1339 unsafe impl ::windows::runtime::RuntimeType for IStorageProviderUriSource {
1340     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{b29806d1-8be0-4962-8bb6-0d4c2e14d47a}");
1341 }
1342 impl ::std::convert::From<IStorageProviderUriSource> for ::windows::runtime::IUnknown {
from(value: IStorageProviderUriSource) -> Self1343     fn from(value: IStorageProviderUriSource) -> Self {
1344         unsafe { ::std::mem::transmute(value) }
1345     }
1346 }
1347 impl ::std::convert::From<&IStorageProviderUriSource> for ::windows::runtime::IUnknown {
from(value: &IStorageProviderUriSource) -> Self1348     fn from(value: &IStorageProviderUriSource) -> Self {
1349         ::std::convert::From::from(::std::clone::Clone::clone(value))
1350     }
1351 }
1352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageProviderUriSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1354         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1355     }
1356 }
1357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageProviderUriSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1360     }
1361 }
1362 impl ::std::convert::From<IStorageProviderUriSource> for ::windows::runtime::IInspectable {
from(value: IStorageProviderUriSource) -> Self1363     fn from(value: IStorageProviderUriSource) -> Self {
1364         value.0
1365     }
1366 }
1367 impl ::std::convert::From<&IStorageProviderUriSource> for ::windows::runtime::IInspectable {
from(value: &IStorageProviderUriSource) -> Self1368     fn from(value: &IStorageProviderUriSource) -> Self {
1369         value.0.clone()
1370     }
1371 }
1372 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageProviderUriSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1373     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1374         ::windows::runtime::Param::Owned(self.0)
1375     }
1376 }
1377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageProviderUriSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1379         ::windows::runtime::Param::Borrowed(&self.0)
1380     }
1381 }
1382 #[repr(C)]
1383 #[doc(hidden)]
1384 pub struct IStorageProviderUriSource_abi(
1385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, contenturi: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1393 );
1394 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1395 #[repr(transparent)]
1396 pub struct ReadActivationMode(pub i32);
1397 impl ReadActivationMode {
1398     pub const NotNeeded: ReadActivationMode = ReadActivationMode(0i32);
1399     pub const BeforeAccess: ReadActivationMode = ReadActivationMode(1i32);
1400 }
1401 impl ::std::convert::From<i32> for ReadActivationMode {
from(value: i32) -> Self1402     fn from(value: i32) -> Self {
1403         Self(value)
1404     }
1405 }
1406 unsafe impl ::windows::runtime::Abi for ReadActivationMode {
1407     type Abi = Self;
1408     type DefaultType = Self;
1409 }
1410 unsafe impl ::windows::runtime::RuntimeType for ReadActivationMode {
1411     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.ReadActivationMode;i4)");
1412 }
1413 #[repr(transparent)]
1414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1415 pub struct StorageProviderError(::windows::runtime::IInspectable);
1416 impl StorageProviderError {
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1417     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1418         let this = self;
1419         unsafe {
1420             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1421             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1422         }
1423     }
Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1424     pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1425         let this = self;
1426         unsafe {
1427             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1428             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1429         }
1430     }
Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1431     pub fn Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1432         let this = self;
1433         unsafe {
1434             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1435             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1436         }
1437     }
FilePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1438     pub fn FilePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1439         let this = self;
1440         unsafe {
1441             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1442             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1443         }
1444     }
SetFilePath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1445     pub fn SetFilePath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1446         let this = self;
1447         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1448     }
PrimaryAction(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand>1449     pub fn PrimaryAction(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand> {
1450         let this = self;
1451         unsafe {
1452             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1453             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderErrorCommand>(result__)
1454         }
1455     }
SetPrimaryAction<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()>1456     pub fn SetPrimaryAction<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1457         let this = self;
1458         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1459     }
SecondaryAction(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand>1460     pub fn SecondaryAction(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand> {
1461         let this = self;
1462         unsafe {
1463             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1464             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderErrorCommand>(result__)
1465         }
1466     }
SetSecondaryAction<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()>1467     pub fn SetSecondaryAction<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1468         let this = self;
1469         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1470     }
InformationalLink(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand>1471     pub fn InformationalLink(&self) -> ::windows::runtime::Result<StorageProviderErrorCommand> {
1472         let this = self;
1473         unsafe {
1474             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1475             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderErrorCommand>(result__)
1476         }
1477     }
SetInformationalLink<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()>1478     pub fn SetInformationalLink<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderErrorCommand>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1479         let this = self;
1480         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1481     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0, title: Param1, message: Param2) -> ::windows::runtime::Result<StorageProviderError>1482     pub fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0, title: Param1, message: Param2) -> ::windows::runtime::Result<StorageProviderError> {
1483         Self::IStorageProviderErrorFactory(|this| unsafe {
1484             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1485             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), id.into_param().abi(), title.into_param().abi(), message.into_param().abi(), &mut result__).from_abi::<StorageProviderError>(result__)
1486         })
1487     }
IStorageProviderErrorFactory<R, F: FnOnce(&IStorageProviderErrorFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1488     pub fn IStorageProviderErrorFactory<R, F: FnOnce(&IStorageProviderErrorFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1489         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderError, IStorageProviderErrorFactory> = ::windows::runtime::FactoryCache::new();
1490         unsafe { SHARED.call(callback) }
1491     }
1492 }
1493 unsafe impl ::windows::runtime::RuntimeType for StorageProviderError {
1494     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderError;{47f2780b-ef7f-5910-bf83-331d89256615})");
1495 }
1496 unsafe impl ::windows::runtime::Interface for StorageProviderError {
1497     type Vtable = IStorageProviderError_abi;
1498     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1207072779, 61311, 22800, [191, 131, 51, 29, 137, 37, 102, 21]);
1499 }
1500 impl ::windows::runtime::RuntimeName for StorageProviderError {
1501     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderError";
1502 }
1503 impl ::std::convert::From<StorageProviderError> for ::windows::runtime::IUnknown {
from(value: StorageProviderError) -> Self1504     fn from(value: StorageProviderError) -> Self {
1505         unsafe { ::std::mem::transmute(value) }
1506     }
1507 }
1508 impl ::std::convert::From<&StorageProviderError> for ::windows::runtime::IUnknown {
from(value: &StorageProviderError) -> Self1509     fn from(value: &StorageProviderError) -> Self {
1510         ::std::convert::From::from(::std::clone::Clone::clone(value))
1511     }
1512 }
1513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1515         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1516     }
1517 }
1518 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1519     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1520         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1521     }
1522 }
1523 impl ::std::convert::From<StorageProviderError> for ::windows::runtime::IInspectable {
from(value: StorageProviderError) -> Self1524     fn from(value: StorageProviderError) -> Self {
1525         value.0
1526     }
1527 }
1528 impl ::std::convert::From<&StorageProviderError> for ::windows::runtime::IInspectable {
from(value: &StorageProviderError) -> Self1529     fn from(value: &StorageProviderError) -> Self {
1530         value.0.clone()
1531     }
1532 }
1533 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1534     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1535         ::windows::runtime::Param::Owned(self.0)
1536     }
1537 }
1538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1540         ::windows::runtime::Param::Borrowed(&self.0)
1541     }
1542 }
1543 unsafe impl ::std::marker::Send for StorageProviderError {}
1544 unsafe impl ::std::marker::Sync for StorageProviderError {}
1545 #[repr(transparent)]
1546 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1547 pub struct StorageProviderErrorCommand(::windows::runtime::IInspectable);
1548 impl StorageProviderErrorCommand {
Label(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1549     pub fn Label(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1550         let this = self;
1551         unsafe {
1552             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1553             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1554         }
1555     }
1556     #[cfg(feature = "Foundation")]
ActionUri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>1557     pub fn ActionUri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
1558         let this = self;
1559         unsafe {
1560             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1561             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
1562         }
1563     }
1564     #[cfg(feature = "Foundation")]
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(label: Param0, actionuri: Param1) -> ::windows::runtime::Result<StorageProviderErrorCommand>1565     pub fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(label: Param0, actionuri: Param1) -> ::windows::runtime::Result<StorageProviderErrorCommand> {
1566         Self::IStorageProviderErrorCommandFactory(|this| unsafe {
1567             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1568             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), label.into_param().abi(), actionuri.into_param().abi(), &mut result__).from_abi::<StorageProviderErrorCommand>(result__)
1569         })
1570     }
IStorageProviderErrorCommandFactory<R, F: FnOnce(&IStorageProviderErrorCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1571     pub fn IStorageProviderErrorCommandFactory<R, F: FnOnce(&IStorageProviderErrorCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1572         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderErrorCommand, IStorageProviderErrorCommandFactory> = ::windows::runtime::FactoryCache::new();
1573         unsafe { SHARED.call(callback) }
1574     }
1575 }
1576 unsafe impl ::windows::runtime::RuntimeType for StorageProviderErrorCommand {
1577     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderErrorCommand;{b6b18aed-bb65-5f26-86e4-1d3e34d54477})");
1578 }
1579 unsafe impl ::windows::runtime::Interface for StorageProviderErrorCommand {
1580     type Vtable = IStorageProviderErrorCommand_abi;
1581     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3065088749, 47973, 24358, [134, 228, 29, 62, 52, 213, 68, 119]);
1582 }
1583 impl ::windows::runtime::RuntimeName for StorageProviderErrorCommand {
1584     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderErrorCommand";
1585 }
1586 impl ::std::convert::From<StorageProviderErrorCommand> for ::windows::runtime::IUnknown {
from(value: StorageProviderErrorCommand) -> Self1587     fn from(value: StorageProviderErrorCommand) -> Self {
1588         unsafe { ::std::mem::transmute(value) }
1589     }
1590 }
1591 impl ::std::convert::From<&StorageProviderErrorCommand> for ::windows::runtime::IUnknown {
from(value: &StorageProviderErrorCommand) -> Self1592     fn from(value: &StorageProviderErrorCommand) -> Self {
1593         ::std::convert::From::from(::std::clone::Clone::clone(value))
1594     }
1595 }
1596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderErrorCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1599     }
1600 }
1601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderErrorCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1603         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1604     }
1605 }
1606 impl ::std::convert::From<StorageProviderErrorCommand> for ::windows::runtime::IInspectable {
from(value: StorageProviderErrorCommand) -> Self1607     fn from(value: StorageProviderErrorCommand) -> Self {
1608         value.0
1609     }
1610 }
1611 impl ::std::convert::From<&StorageProviderErrorCommand> for ::windows::runtime::IInspectable {
from(value: &StorageProviderErrorCommand) -> Self1612     fn from(value: &StorageProviderErrorCommand) -> Self {
1613         value.0.clone()
1614     }
1615 }
1616 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderErrorCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1617     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1618         ::windows::runtime::Param::Owned(self.0)
1619     }
1620 }
1621 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderErrorCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1622     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1623         ::windows::runtime::Param::Borrowed(&self.0)
1624     }
1625 }
1626 unsafe impl ::std::marker::Send for StorageProviderErrorCommand {}
1627 unsafe impl ::std::marker::Sync for StorageProviderErrorCommand {}
1628 #[repr(transparent)]
1629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1630 pub struct StorageProviderFileTypeInfo(::windows::runtime::IInspectable);
1631 impl StorageProviderFileTypeInfo {
FileExtension(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1632     pub fn FileExtension(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1633         let this = self;
1634         unsafe {
1635             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1636             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1637         }
1638     }
IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1639     pub fn IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1640         let this = self;
1641         unsafe {
1642             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1643             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1644         }
1645     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fileextension: Param0, iconresource: Param1) -> ::windows::runtime::Result<StorageProviderFileTypeInfo>1646     pub fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fileextension: Param0, iconresource: Param1) -> ::windows::runtime::Result<StorageProviderFileTypeInfo> {
1647         Self::IStorageProviderFileTypeInfoFactory(|this| unsafe {
1648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1649             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), fileextension.into_param().abi(), iconresource.into_param().abi(), &mut result__).from_abi::<StorageProviderFileTypeInfo>(result__)
1650         })
1651     }
IStorageProviderFileTypeInfoFactory<R, F: FnOnce(&IStorageProviderFileTypeInfoFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1652     pub fn IStorageProviderFileTypeInfoFactory<R, F: FnOnce(&IStorageProviderFileTypeInfoFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1653         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderFileTypeInfo, IStorageProviderFileTypeInfoFactory> = ::windows::runtime::FactoryCache::new();
1654         unsafe { SHARED.call(callback) }
1655     }
1656 }
1657 unsafe impl ::windows::runtime::RuntimeType for StorageProviderFileTypeInfo {
1658     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderFileTypeInfo;{1955b9c1-0184-5a88-87df-4544f464365d})");
1659 }
1660 unsafe impl ::windows::runtime::Interface for StorageProviderFileTypeInfo {
1661     type Vtable = IStorageProviderFileTypeInfo_abi;
1662     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(425048513, 388, 23176, [135, 223, 69, 68, 244, 100, 54, 93]);
1663 }
1664 impl ::windows::runtime::RuntimeName for StorageProviderFileTypeInfo {
1665     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderFileTypeInfo";
1666 }
1667 impl ::std::convert::From<StorageProviderFileTypeInfo> for ::windows::runtime::IUnknown {
from(value: StorageProviderFileTypeInfo) -> Self1668     fn from(value: StorageProviderFileTypeInfo) -> Self {
1669         unsafe { ::std::mem::transmute(value) }
1670     }
1671 }
1672 impl ::std::convert::From<&StorageProviderFileTypeInfo> for ::windows::runtime::IUnknown {
from(value: &StorageProviderFileTypeInfo) -> Self1673     fn from(value: &StorageProviderFileTypeInfo) -> Self {
1674         ::std::convert::From::from(::std::clone::Clone::clone(value))
1675     }
1676 }
1677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderFileTypeInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1680     }
1681 }
1682 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderFileTypeInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1683     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1684         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1685     }
1686 }
1687 impl ::std::convert::From<StorageProviderFileTypeInfo> for ::windows::runtime::IInspectable {
from(value: StorageProviderFileTypeInfo) -> Self1688     fn from(value: StorageProviderFileTypeInfo) -> Self {
1689         value.0
1690     }
1691 }
1692 impl ::std::convert::From<&StorageProviderFileTypeInfo> for ::windows::runtime::IInspectable {
from(value: &StorageProviderFileTypeInfo) -> Self1693     fn from(value: &StorageProviderFileTypeInfo) -> Self {
1694         value.0.clone()
1695     }
1696 }
1697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderFileTypeInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1699         ::windows::runtime::Param::Owned(self.0)
1700     }
1701 }
1702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderFileTypeInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1704         ::windows::runtime::Param::Borrowed(&self.0)
1705     }
1706 }
1707 unsafe impl ::std::marker::Send for StorageProviderFileTypeInfo {}
1708 unsafe impl ::std::marker::Sync for StorageProviderFileTypeInfo {}
1709 #[repr(transparent)]
1710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1711 pub struct StorageProviderGetContentInfoForPathResult(::windows::runtime::IInspectable);
1712 impl StorageProviderGetContentInfoForPathResult {
new() -> ::windows::runtime::Result<Self>1713     pub fn new() -> ::windows::runtime::Result<Self> {
1714         Self::IActivationFactory(|f| f.activate_instance::<Self>())
1715     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1716     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1717         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderGetContentInfoForPathResult, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1718         unsafe { SHARED.call(callback) }
1719     }
Status(&self) -> ::windows::runtime::Result<StorageProviderUriSourceStatus>1720     pub fn Status(&self) -> ::windows::runtime::Result<StorageProviderUriSourceStatus> {
1721         let this = self;
1722         unsafe {
1723             let mut result__: StorageProviderUriSourceStatus = ::std::mem::zeroed();
1724             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderUriSourceStatus>(result__)
1725         }
1726     }
SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows::runtime::Result<()>1727     pub fn SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows::runtime::Result<()> {
1728         let this = self;
1729         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1730     }
ContentUri(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1731     pub fn ContentUri(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1732         let this = self;
1733         unsafe {
1734             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1735             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1736         }
1737     }
SetContentUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1738     pub fn SetContentUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1739         let this = self;
1740         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1741     }
ContentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1742     pub fn ContentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1743         let this = self;
1744         unsafe {
1745             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1746             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1747         }
1748     }
SetContentId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1749     pub fn SetContentId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1750         let this = self;
1751         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1752     }
1753 }
1754 unsafe impl ::windows::runtime::RuntimeType for StorageProviderGetContentInfoForPathResult {
1755     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderGetContentInfoForPathResult;{2564711d-aa89-4d12-82e3-f72a92e33966})");
1756 }
1757 unsafe impl ::windows::runtime::Interface for StorageProviderGetContentInfoForPathResult {
1758     type Vtable = IStorageProviderGetContentInfoForPathResult_abi;
1759     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(627339549, 43657, 19730, [130, 227, 247, 42, 146, 227, 57, 102]);
1760 }
1761 impl ::windows::runtime::RuntimeName for StorageProviderGetContentInfoForPathResult {
1762     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderGetContentInfoForPathResult";
1763 }
1764 impl ::std::convert::From<StorageProviderGetContentInfoForPathResult> for ::windows::runtime::IUnknown {
from(value: StorageProviderGetContentInfoForPathResult) -> Self1765     fn from(value: StorageProviderGetContentInfoForPathResult) -> Self {
1766         unsafe { ::std::mem::transmute(value) }
1767     }
1768 }
1769 impl ::std::convert::From<&StorageProviderGetContentInfoForPathResult> for ::windows::runtime::IUnknown {
from(value: &StorageProviderGetContentInfoForPathResult) -> Self1770     fn from(value: &StorageProviderGetContentInfoForPathResult) -> Self {
1771         ::std::convert::From::from(::std::clone::Clone::clone(value))
1772     }
1773 }
1774 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderGetContentInfoForPathResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1775     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1776         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1777     }
1778 }
1779 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderGetContentInfoForPathResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1780     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1781         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1782     }
1783 }
1784 impl ::std::convert::From<StorageProviderGetContentInfoForPathResult> for ::windows::runtime::IInspectable {
from(value: StorageProviderGetContentInfoForPathResult) -> Self1785     fn from(value: StorageProviderGetContentInfoForPathResult) -> Self {
1786         value.0
1787     }
1788 }
1789 impl ::std::convert::From<&StorageProviderGetContentInfoForPathResult> for ::windows::runtime::IInspectable {
from(value: &StorageProviderGetContentInfoForPathResult) -> Self1790     fn from(value: &StorageProviderGetContentInfoForPathResult) -> Self {
1791         value.0.clone()
1792     }
1793 }
1794 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderGetContentInfoForPathResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1795     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1796         ::windows::runtime::Param::Owned(self.0)
1797     }
1798 }
1799 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderGetContentInfoForPathResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1800     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1801         ::windows::runtime::Param::Borrowed(&self.0)
1802     }
1803 }
1804 unsafe impl ::std::marker::Send for StorageProviderGetContentInfoForPathResult {}
1805 unsafe impl ::std::marker::Sync for StorageProviderGetContentInfoForPathResult {}
1806 #[repr(transparent)]
1807 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1808 pub struct StorageProviderGetPathForContentUriResult(::windows::runtime::IInspectable);
1809 impl StorageProviderGetPathForContentUriResult {
new() -> ::windows::runtime::Result<Self>1810     pub fn new() -> ::windows::runtime::Result<Self> {
1811         Self::IActivationFactory(|f| f.activate_instance::<Self>())
1812     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1813     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1814         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderGetPathForContentUriResult, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1815         unsafe { SHARED.call(callback) }
1816     }
Status(&self) -> ::windows::runtime::Result<StorageProviderUriSourceStatus>1817     pub fn Status(&self) -> ::windows::runtime::Result<StorageProviderUriSourceStatus> {
1818         let this = self;
1819         unsafe {
1820             let mut result__: StorageProviderUriSourceStatus = ::std::mem::zeroed();
1821             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderUriSourceStatus>(result__)
1822         }
1823     }
SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows::runtime::Result<()>1824     pub fn SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows::runtime::Result<()> {
1825         let this = self;
1826         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1827     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1828     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1829         let this = self;
1830         unsafe {
1831             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1832             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1833         }
1834     }
SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1835     pub fn SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1836         let this = self;
1837         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1838     }
1839 }
1840 unsafe impl ::windows::runtime::RuntimeType for StorageProviderGetPathForContentUriResult {
1841     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderGetPathForContentUriResult;{63711a9d-4118-45a6-acb6-22c49d019f40})");
1842 }
1843 unsafe impl ::windows::runtime::Interface for StorageProviderGetPathForContentUriResult {
1844     type Vtable = IStorageProviderGetPathForContentUriResult_abi;
1845     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1668356765, 16664, 17830, [172, 182, 34, 196, 157, 1, 159, 64]);
1846 }
1847 impl ::windows::runtime::RuntimeName for StorageProviderGetPathForContentUriResult {
1848     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderGetPathForContentUriResult";
1849 }
1850 impl ::std::convert::From<StorageProviderGetPathForContentUriResult> for ::windows::runtime::IUnknown {
from(value: StorageProviderGetPathForContentUriResult) -> Self1851     fn from(value: StorageProviderGetPathForContentUriResult) -> Self {
1852         unsafe { ::std::mem::transmute(value) }
1853     }
1854 }
1855 impl ::std::convert::From<&StorageProviderGetPathForContentUriResult> for ::windows::runtime::IUnknown {
from(value: &StorageProviderGetPathForContentUriResult) -> Self1856     fn from(value: &StorageProviderGetPathForContentUriResult) -> Self {
1857         ::std::convert::From::from(::std::clone::Clone::clone(value))
1858     }
1859 }
1860 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderGetPathForContentUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1861     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1862         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1863     }
1864 }
1865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderGetPathForContentUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1868     }
1869 }
1870 impl ::std::convert::From<StorageProviderGetPathForContentUriResult> for ::windows::runtime::IInspectable {
from(value: StorageProviderGetPathForContentUriResult) -> Self1871     fn from(value: StorageProviderGetPathForContentUriResult) -> Self {
1872         value.0
1873     }
1874 }
1875 impl ::std::convert::From<&StorageProviderGetPathForContentUriResult> for ::windows::runtime::IInspectable {
from(value: &StorageProviderGetPathForContentUriResult) -> Self1876     fn from(value: &StorageProviderGetPathForContentUriResult) -> Self {
1877         value.0.clone()
1878     }
1879 }
1880 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderGetPathForContentUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1881     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1882         ::windows::runtime::Param::Owned(self.0)
1883     }
1884 }
1885 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderGetPathForContentUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1886     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1887         ::windows::runtime::Param::Borrowed(&self.0)
1888     }
1889 }
1890 unsafe impl ::std::marker::Send for StorageProviderGetPathForContentUriResult {}
1891 unsafe impl ::std::marker::Sync for StorageProviderGetPathForContentUriResult {}
1892 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1893 #[repr(transparent)]
1894 pub struct StorageProviderHardlinkPolicy(pub u32);
1895 impl StorageProviderHardlinkPolicy {
1896     pub const None: StorageProviderHardlinkPolicy = StorageProviderHardlinkPolicy(0u32);
1897     pub const Allowed: StorageProviderHardlinkPolicy = StorageProviderHardlinkPolicy(1u32);
1898 }
1899 impl ::std::convert::From<u32> for StorageProviderHardlinkPolicy {
from(value: u32) -> Self1900     fn from(value: u32) -> Self {
1901         Self(value)
1902     }
1903 }
1904 unsafe impl ::windows::runtime::Abi for StorageProviderHardlinkPolicy {
1905     type Abi = Self;
1906     type DefaultType = Self;
1907 }
1908 unsafe impl ::windows::runtime::RuntimeType for StorageProviderHardlinkPolicy {
1909     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderHardlinkPolicy;u4)");
1910 }
1911 impl ::std::ops::BitOr for StorageProviderHardlinkPolicy {
1912     type Output = Self;
bitor(self, rhs: Self) -> Self1913     fn bitor(self, rhs: Self) -> Self {
1914         Self(self.0 | rhs.0)
1915     }
1916 }
1917 impl ::std::ops::BitAnd for StorageProviderHardlinkPolicy {
1918     type Output = Self;
bitand(self, rhs: Self) -> Self1919     fn bitand(self, rhs: Self) -> Self {
1920         Self(self.0 & rhs.0)
1921     }
1922 }
1923 impl ::std::ops::BitOrAssign for StorageProviderHardlinkPolicy {
bitor_assign(&mut self, rhs: Self)1924     fn bitor_assign(&mut self, rhs: Self) {
1925         self.0.bitor_assign(rhs.0)
1926     }
1927 }
1928 impl ::std::ops::BitAndAssign for StorageProviderHardlinkPolicy {
bitand_assign(&mut self, rhs: Self)1929     fn bitand_assign(&mut self, rhs: Self) {
1930         self.0.bitand_assign(rhs.0)
1931     }
1932 }
1933 impl ::std::ops::Not for StorageProviderHardlinkPolicy {
1934     type Output = Self;
not(self) -> Self1935     fn not(self) -> Self {
1936         Self(self.0.not())
1937     }
1938 }
1939 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1940 #[repr(transparent)]
1941 pub struct StorageProviderHydrationPolicy(pub i32);
1942 impl StorageProviderHydrationPolicy {
1943     pub const Partial: StorageProviderHydrationPolicy = StorageProviderHydrationPolicy(0i32);
1944     pub const Progressive: StorageProviderHydrationPolicy = StorageProviderHydrationPolicy(1i32);
1945     pub const Full: StorageProviderHydrationPolicy = StorageProviderHydrationPolicy(2i32);
1946     pub const AlwaysFull: StorageProviderHydrationPolicy = StorageProviderHydrationPolicy(3i32);
1947 }
1948 impl ::std::convert::From<i32> for StorageProviderHydrationPolicy {
from(value: i32) -> Self1949     fn from(value: i32) -> Self {
1950         Self(value)
1951     }
1952 }
1953 unsafe impl ::windows::runtime::Abi for StorageProviderHydrationPolicy {
1954     type Abi = Self;
1955     type DefaultType = Self;
1956 }
1957 unsafe impl ::windows::runtime::RuntimeType for StorageProviderHydrationPolicy {
1958     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderHydrationPolicy;i4)");
1959 }
1960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1961 #[repr(transparent)]
1962 pub struct StorageProviderHydrationPolicyModifier(pub u32);
1963 impl StorageProviderHydrationPolicyModifier {
1964     pub const None: StorageProviderHydrationPolicyModifier = StorageProviderHydrationPolicyModifier(0u32);
1965     pub const ValidationRequired: StorageProviderHydrationPolicyModifier = StorageProviderHydrationPolicyModifier(1u32);
1966     pub const StreamingAllowed: StorageProviderHydrationPolicyModifier = StorageProviderHydrationPolicyModifier(2u32);
1967     pub const AutoDehydrationAllowed: StorageProviderHydrationPolicyModifier = StorageProviderHydrationPolicyModifier(4u32);
1968     pub const AllowFullRestartHydration: StorageProviderHydrationPolicyModifier = StorageProviderHydrationPolicyModifier(8u32);
1969 }
1970 impl ::std::convert::From<u32> for StorageProviderHydrationPolicyModifier {
from(value: u32) -> Self1971     fn from(value: u32) -> Self {
1972         Self(value)
1973     }
1974 }
1975 unsafe impl ::windows::runtime::Abi for StorageProviderHydrationPolicyModifier {
1976     type Abi = Self;
1977     type DefaultType = Self;
1978 }
1979 unsafe impl ::windows::runtime::RuntimeType for StorageProviderHydrationPolicyModifier {
1980     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderHydrationPolicyModifier;u4)");
1981 }
1982 impl ::std::ops::BitOr for StorageProviderHydrationPolicyModifier {
1983     type Output = Self;
bitor(self, rhs: Self) -> Self1984     fn bitor(self, rhs: Self) -> Self {
1985         Self(self.0 | rhs.0)
1986     }
1987 }
1988 impl ::std::ops::BitAnd for StorageProviderHydrationPolicyModifier {
1989     type Output = Self;
bitand(self, rhs: Self) -> Self1990     fn bitand(self, rhs: Self) -> Self {
1991         Self(self.0 & rhs.0)
1992     }
1993 }
1994 impl ::std::ops::BitOrAssign for StorageProviderHydrationPolicyModifier {
bitor_assign(&mut self, rhs: Self)1995     fn bitor_assign(&mut self, rhs: Self) {
1996         self.0.bitor_assign(rhs.0)
1997     }
1998 }
1999 impl ::std::ops::BitAndAssign for StorageProviderHydrationPolicyModifier {
bitand_assign(&mut self, rhs: Self)2000     fn bitand_assign(&mut self, rhs: Self) {
2001         self.0.bitand_assign(rhs.0)
2002     }
2003 }
2004 impl ::std::ops::Not for StorageProviderHydrationPolicyModifier {
2005     type Output = Self;
not(self) -> Self2006     fn not(self) -> Self {
2007         Self(self.0.not())
2008     }
2009 }
2010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2011 #[repr(transparent)]
2012 pub struct StorageProviderInSyncPolicy(pub u32);
2013 impl StorageProviderInSyncPolicy {
2014     pub const Default: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(0u32);
2015     pub const FileCreationTime: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(1u32);
2016     pub const FileReadOnlyAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(2u32);
2017     pub const FileHiddenAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(4u32);
2018     pub const FileSystemAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(8u32);
2019     pub const DirectoryCreationTime: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(16u32);
2020     pub const DirectoryReadOnlyAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(32u32);
2021     pub const DirectoryHiddenAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(64u32);
2022     pub const DirectorySystemAttribute: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(128u32);
2023     pub const FileLastWriteTime: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(256u32);
2024     pub const DirectoryLastWriteTime: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(512u32);
2025     pub const PreserveInsyncForSyncEngine: StorageProviderInSyncPolicy = StorageProviderInSyncPolicy(2147483648u32);
2026 }
2027 impl ::std::convert::From<u32> for StorageProviderInSyncPolicy {
from(value: u32) -> Self2028     fn from(value: u32) -> Self {
2029         Self(value)
2030     }
2031 }
2032 unsafe impl ::windows::runtime::Abi for StorageProviderInSyncPolicy {
2033     type Abi = Self;
2034     type DefaultType = Self;
2035 }
2036 unsafe impl ::windows::runtime::RuntimeType for StorageProviderInSyncPolicy {
2037     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderInSyncPolicy;u4)");
2038 }
2039 impl ::std::ops::BitOr for StorageProviderInSyncPolicy {
2040     type Output = Self;
bitor(self, rhs: Self) -> Self2041     fn bitor(self, rhs: Self) -> Self {
2042         Self(self.0 | rhs.0)
2043     }
2044 }
2045 impl ::std::ops::BitAnd for StorageProviderInSyncPolicy {
2046     type Output = Self;
bitand(self, rhs: Self) -> Self2047     fn bitand(self, rhs: Self) -> Self {
2048         Self(self.0 & rhs.0)
2049     }
2050 }
2051 impl ::std::ops::BitOrAssign for StorageProviderInSyncPolicy {
bitor_assign(&mut self, rhs: Self)2052     fn bitor_assign(&mut self, rhs: Self) {
2053         self.0.bitor_assign(rhs.0)
2054     }
2055 }
2056 impl ::std::ops::BitAndAssign for StorageProviderInSyncPolicy {
bitand_assign(&mut self, rhs: Self)2057     fn bitand_assign(&mut self, rhs: Self) {
2058         self.0.bitand_assign(rhs.0)
2059     }
2060 }
2061 impl ::std::ops::Not for StorageProviderInSyncPolicy {
2062     type Output = Self;
not(self) -> Self2063     fn not(self) -> Self {
2064         Self(self.0.not())
2065     }
2066 }
2067 pub struct StorageProviderItemProperties {}
2068 impl StorageProviderItemProperties {
2069     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageItem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<StorageProviderItemProperty>>>(item: Param0, itemproperties: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>2070     pub fn SetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageItem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<StorageProviderItemProperty>>>(item: Param0, itemproperties: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
2071         Self::IStorageProviderItemPropertiesStatics(|this| unsafe {
2072             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2073             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), item.into_param().abi(), itemproperties.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
2074         })
2075     }
IStorageProviderItemPropertiesStatics<R, F: FnOnce(&IStorageProviderItemPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2076     pub fn IStorageProviderItemPropertiesStatics<R, F: FnOnce(&IStorageProviderItemPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2077         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderItemProperties, IStorageProviderItemPropertiesStatics> = ::windows::runtime::FactoryCache::new();
2078         unsafe { SHARED.call(callback) }
2079     }
2080 }
2081 impl ::windows::runtime::RuntimeName for StorageProviderItemProperties {
2082     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderItemProperties";
2083 }
2084 #[repr(transparent)]
2085 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2086 pub struct StorageProviderItemProperty(::windows::runtime::IInspectable);
2087 impl StorageProviderItemProperty {
new() -> ::windows::runtime::Result<Self>2088     pub fn new() -> ::windows::runtime::Result<Self> {
2089         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2090     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2091     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2092         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderItemProperty, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2093         unsafe { SHARED.call(callback) }
2094     }
SetId(&self, value: i32) -> ::windows::runtime::Result<()>2095     pub fn SetId(&self, value: i32) -> ::windows::runtime::Result<()> {
2096         let this = self;
2097         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value).ok() }
2098     }
Id(&self) -> ::windows::runtime::Result<i32>2099     pub fn Id(&self) -> ::windows::runtime::Result<i32> {
2100         let this = self;
2101         unsafe {
2102             let mut result__: i32 = ::std::mem::zeroed();
2103             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2104         }
2105     }
SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2106     pub fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2107         let this = self;
2108         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2109     }
Value(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2110     pub fn Value(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2111         let this = self;
2112         unsafe {
2113             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2114             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2115         }
2116     }
SetIconResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2117     pub fn SetIconResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2118         let this = self;
2119         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2120     }
IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2121     pub fn IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2122         let this = self;
2123         unsafe {
2124             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2125             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2126         }
2127     }
2128 }
2129 unsafe impl ::windows::runtime::RuntimeType for StorageProviderItemProperty {
2130     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderItemProperty;{476cb558-730b-4188-b7b5-63b716ed476d})");
2131 }
2132 unsafe impl ::windows::runtime::Interface for StorageProviderItemProperty {
2133     type Vtable = IStorageProviderItemProperty_abi;
2134     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1198306648, 29451, 16776, [183, 181, 99, 183, 22, 237, 71, 109]);
2135 }
2136 impl ::windows::runtime::RuntimeName for StorageProviderItemProperty {
2137     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderItemProperty";
2138 }
2139 impl ::std::convert::From<StorageProviderItemProperty> for ::windows::runtime::IUnknown {
from(value: StorageProviderItemProperty) -> Self2140     fn from(value: StorageProviderItemProperty) -> Self {
2141         unsafe { ::std::mem::transmute(value) }
2142     }
2143 }
2144 impl ::std::convert::From<&StorageProviderItemProperty> for ::windows::runtime::IUnknown {
from(value: &StorageProviderItemProperty) -> Self2145     fn from(value: &StorageProviderItemProperty) -> Self {
2146         ::std::convert::From::from(::std::clone::Clone::clone(value))
2147     }
2148 }
2149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderItemProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2150     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2151         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2152     }
2153 }
2154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderItemProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2155     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2156         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2157     }
2158 }
2159 impl ::std::convert::From<StorageProviderItemProperty> for ::windows::runtime::IInspectable {
from(value: StorageProviderItemProperty) -> Self2160     fn from(value: StorageProviderItemProperty) -> Self {
2161         value.0
2162     }
2163 }
2164 impl ::std::convert::From<&StorageProviderItemProperty> for ::windows::runtime::IInspectable {
from(value: &StorageProviderItemProperty) -> Self2165     fn from(value: &StorageProviderItemProperty) -> Self {
2166         value.0.clone()
2167     }
2168 }
2169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderItemProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2171         ::windows::runtime::Param::Owned(self.0)
2172     }
2173 }
2174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderItemProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2176         ::windows::runtime::Param::Borrowed(&self.0)
2177     }
2178 }
2179 unsafe impl ::std::marker::Send for StorageProviderItemProperty {}
2180 unsafe impl ::std::marker::Sync for StorageProviderItemProperty {}
2181 #[repr(transparent)]
2182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2183 pub struct StorageProviderItemPropertyDefinition(::windows::runtime::IInspectable);
2184 impl StorageProviderItemPropertyDefinition {
new() -> ::windows::runtime::Result<Self>2185     pub fn new() -> ::windows::runtime::Result<Self> {
2186         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2187     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2188     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2189         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderItemPropertyDefinition, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2190         unsafe { SHARED.call(callback) }
2191     }
Id(&self) -> ::windows::runtime::Result<i32>2192     pub fn Id(&self) -> ::windows::runtime::Result<i32> {
2193         let this = self;
2194         unsafe {
2195             let mut result__: i32 = ::std::mem::zeroed();
2196             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2197         }
2198     }
SetId(&self, value: i32) -> ::windows::runtime::Result<()>2199     pub fn SetId(&self, value: i32) -> ::windows::runtime::Result<()> {
2200         let this = self;
2201         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2202     }
DisplayNameResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2203     pub fn DisplayNameResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2204         let this = self;
2205         unsafe {
2206             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2207             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2208         }
2209     }
SetDisplayNameResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2210     pub fn SetDisplayNameResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2211         let this = self;
2212         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2213     }
2214 }
2215 unsafe impl ::windows::runtime::RuntimeType for StorageProviderItemPropertyDefinition {
2216     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderItemPropertyDefinition;{c5b383bb-ff1f-4298-831e-ff1c08089690})");
2217 }
2218 unsafe impl ::windows::runtime::Interface for StorageProviderItemPropertyDefinition {
2219     type Vtable = IStorageProviderItemPropertyDefinition_abi;
2220     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316876219, 65311, 17048, [131, 30, 255, 28, 8, 8, 150, 144]);
2221 }
2222 impl ::windows::runtime::RuntimeName for StorageProviderItemPropertyDefinition {
2223     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderItemPropertyDefinition";
2224 }
2225 impl ::std::convert::From<StorageProviderItemPropertyDefinition> for ::windows::runtime::IUnknown {
from(value: StorageProviderItemPropertyDefinition) -> Self2226     fn from(value: StorageProviderItemPropertyDefinition) -> Self {
2227         unsafe { ::std::mem::transmute(value) }
2228     }
2229 }
2230 impl ::std::convert::From<&StorageProviderItemPropertyDefinition> for ::windows::runtime::IUnknown {
from(value: &StorageProviderItemPropertyDefinition) -> Self2231     fn from(value: &StorageProviderItemPropertyDefinition) -> Self {
2232         ::std::convert::From::from(::std::clone::Clone::clone(value))
2233     }
2234 }
2235 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderItemPropertyDefinition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2236     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2237         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2238     }
2239 }
2240 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderItemPropertyDefinition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2241     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2242         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2243     }
2244 }
2245 impl ::std::convert::From<StorageProviderItemPropertyDefinition> for ::windows::runtime::IInspectable {
from(value: StorageProviderItemPropertyDefinition) -> Self2246     fn from(value: StorageProviderItemPropertyDefinition) -> Self {
2247         value.0
2248     }
2249 }
2250 impl ::std::convert::From<&StorageProviderItemPropertyDefinition> for ::windows::runtime::IInspectable {
from(value: &StorageProviderItemPropertyDefinition) -> Self2251     fn from(value: &StorageProviderItemPropertyDefinition) -> Self {
2252         value.0.clone()
2253     }
2254 }
2255 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderItemPropertyDefinition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2256     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2257         ::windows::runtime::Param::Owned(self.0)
2258     }
2259 }
2260 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderItemPropertyDefinition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2261     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2262         ::windows::runtime::Param::Borrowed(&self.0)
2263     }
2264 }
2265 unsafe impl ::std::marker::Send for StorageProviderItemPropertyDefinition {}
2266 unsafe impl ::std::marker::Sync for StorageProviderItemPropertyDefinition {}
2267 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2268 #[repr(transparent)]
2269 pub struct StorageProviderPopulationPolicy(pub i32);
2270 impl StorageProviderPopulationPolicy {
2271     pub const Full: StorageProviderPopulationPolicy = StorageProviderPopulationPolicy(1i32);
2272     pub const AlwaysFull: StorageProviderPopulationPolicy = StorageProviderPopulationPolicy(2i32);
2273 }
2274 impl ::std::convert::From<i32> for StorageProviderPopulationPolicy {
from(value: i32) -> Self2275     fn from(value: i32) -> Self {
2276         Self(value)
2277     }
2278 }
2279 unsafe impl ::windows::runtime::Abi for StorageProviderPopulationPolicy {
2280     type Abi = Self;
2281     type DefaultType = Self;
2282 }
2283 unsafe impl ::windows::runtime::RuntimeType for StorageProviderPopulationPolicy {
2284     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderPopulationPolicy;i4)");
2285 }
2286 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2287 #[repr(transparent)]
2288 pub struct StorageProviderProtectionMode(pub i32);
2289 impl StorageProviderProtectionMode {
2290     pub const Unknown: StorageProviderProtectionMode = StorageProviderProtectionMode(0i32);
2291     pub const Personal: StorageProviderProtectionMode = StorageProviderProtectionMode(1i32);
2292 }
2293 impl ::std::convert::From<i32> for StorageProviderProtectionMode {
from(value: i32) -> Self2294     fn from(value: i32) -> Self {
2295         Self(value)
2296     }
2297 }
2298 unsafe impl ::windows::runtime::Abi for StorageProviderProtectionMode {
2299     type Abi = Self;
2300     type DefaultType = Self;
2301 }
2302 unsafe impl ::windows::runtime::RuntimeType for StorageProviderProtectionMode {
2303     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderProtectionMode;i4)");
2304 }
2305 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2306 #[repr(transparent)]
2307 pub struct StorageProviderState(pub i32);
2308 impl StorageProviderState {
2309     pub const InSync: StorageProviderState = StorageProviderState(0i32);
2310     pub const Syncing: StorageProviderState = StorageProviderState(1i32);
2311     pub const Paused: StorageProviderState = StorageProviderState(2i32);
2312     pub const Error: StorageProviderState = StorageProviderState(3i32);
2313     pub const Warning: StorageProviderState = StorageProviderState(4i32);
2314     pub const Offline: StorageProviderState = StorageProviderState(5i32);
2315 }
2316 impl ::std::convert::From<i32> for StorageProviderState {
from(value: i32) -> Self2317     fn from(value: i32) -> Self {
2318         Self(value)
2319     }
2320 }
2321 unsafe impl ::windows::runtime::Abi for StorageProviderState {
2322     type Abi = Self;
2323     type DefaultType = Self;
2324 }
2325 unsafe impl ::windows::runtime::RuntimeType for StorageProviderState {
2326     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderState;i4)");
2327 }
2328 #[repr(transparent)]
2329 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2330 pub struct StorageProviderStatus(::windows::runtime::IInspectable);
2331 impl StorageProviderStatus {
Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2332     pub fn Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2333         let this = self;
2334         unsafe {
2335             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2336             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2337         }
2338     }
State(&self) -> ::windows::runtime::Result<StorageProviderState>2339     pub fn State(&self) -> ::windows::runtime::Result<StorageProviderState> {
2340         let this = self;
2341         unsafe {
2342             let mut result__: StorageProviderState = ::std::mem::zeroed();
2343             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderState>(result__)
2344         }
2345     }
2346     #[cfg(feature = "Foundation_Collections")]
ErrorMessages(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<StorageProviderError>>2347     pub fn ErrorMessages(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<StorageProviderError>> {
2348         let this = self;
2349         unsafe {
2350             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2351             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<StorageProviderError>>(result__)
2352         }
2353     }
CreateInstance<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(state: StorageProviderState, message: Param1) -> ::windows::runtime::Result<StorageProviderStatus>2354     pub fn CreateInstance<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(state: StorageProviderState, message: Param1) -> ::windows::runtime::Result<StorageProviderStatus> {
2355         Self::IStorageProviderStatusFactory(|this| unsafe {
2356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2357             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), state, message.into_param().abi(), &mut result__).from_abi::<StorageProviderStatus>(result__)
2358         })
2359     }
2360     #[cfg(feature = "Foundation_Collections")]
CreateInstance2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<StorageProviderError>>>(state: StorageProviderState, message: Param1, errormessages: Param2) -> ::windows::runtime::Result<StorageProviderStatus>2361     pub fn CreateInstance2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<StorageProviderError>>>(state: StorageProviderState, message: Param1, errormessages: Param2) -> ::windows::runtime::Result<StorageProviderStatus> {
2362         Self::IStorageProviderStatusFactory(|this| unsafe {
2363             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2364             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), state, message.into_param().abi(), errormessages.into_param().abi(), &mut result__).from_abi::<StorageProviderStatus>(result__)
2365         })
2366     }
IStorageProviderStatusFactory<R, F: FnOnce(&IStorageProviderStatusFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2367     pub fn IStorageProviderStatusFactory<R, F: FnOnce(&IStorageProviderStatusFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2368         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderStatus, IStorageProviderStatusFactory> = ::windows::runtime::FactoryCache::new();
2369         unsafe { SHARED.call(callback) }
2370     }
2371 }
2372 unsafe impl ::windows::runtime::RuntimeType for StorageProviderStatus {
2373     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderStatus;{ff6e761d-fb8b-56c3-9e7a-05309d191fb4})");
2374 }
2375 unsafe impl ::windows::runtime::Interface for StorageProviderStatus {
2376     type Vtable = IStorageProviderStatus_abi;
2377     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4285429277, 64395, 22211, [158, 122, 5, 48, 157, 25, 31, 180]);
2378 }
2379 impl ::windows::runtime::RuntimeName for StorageProviderStatus {
2380     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderStatus";
2381 }
2382 impl ::std::convert::From<StorageProviderStatus> for ::windows::runtime::IUnknown {
from(value: StorageProviderStatus) -> Self2383     fn from(value: StorageProviderStatus) -> Self {
2384         unsafe { ::std::mem::transmute(value) }
2385     }
2386 }
2387 impl ::std::convert::From<&StorageProviderStatus> for ::windows::runtime::IUnknown {
from(value: &StorageProviderStatus) -> Self2388     fn from(value: &StorageProviderStatus) -> Self {
2389         ::std::convert::From::from(::std::clone::Clone::clone(value))
2390     }
2391 }
2392 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2393     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2394         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2395     }
2396 }
2397 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2398     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2399         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2400     }
2401 }
2402 impl ::std::convert::From<StorageProviderStatus> for ::windows::runtime::IInspectable {
from(value: StorageProviderStatus) -> Self2403     fn from(value: StorageProviderStatus) -> Self {
2404         value.0
2405     }
2406 }
2407 impl ::std::convert::From<&StorageProviderStatus> for ::windows::runtime::IInspectable {
from(value: &StorageProviderStatus) -> Self2408     fn from(value: &StorageProviderStatus) -> Self {
2409         value.0.clone()
2410     }
2411 }
2412 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2413     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2414         ::windows::runtime::Param::Owned(self.0)
2415     }
2416 }
2417 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2418     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2419         ::windows::runtime::Param::Borrowed(&self.0)
2420     }
2421 }
2422 unsafe impl ::std::marker::Send for StorageProviderStatus {}
2423 unsafe impl ::std::marker::Sync for StorageProviderStatus {}
2424 #[repr(transparent)]
2425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2426 pub struct StorageProviderSyncRootInfo(::windows::runtime::IInspectable);
2427 impl StorageProviderSyncRootInfo {
new() -> ::windows::runtime::Result<Self>2428     pub fn new() -> ::windows::runtime::Result<Self> {
2429         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2430     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2431     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2432         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderSyncRootInfo, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2433         unsafe { SHARED.call(callback) }
2434     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2435     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2436         let this = self;
2437         unsafe {
2438             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2439             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2440         }
2441     }
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2442     pub fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2443         let this = self;
2444         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2445     }
2446     #[cfg(feature = "Storage_Streams")]
Context(&self) -> ::windows::runtime::Result<super::Streams::IBuffer>2447     pub fn Context(&self) -> ::windows::runtime::Result<super::Streams::IBuffer> {
2448         let this = self;
2449         unsafe {
2450             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2451             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Streams::IBuffer>(result__)
2452         }
2453     }
2454     #[cfg(feature = "Storage_Streams")]
SetContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, value: Param0) -> ::windows::runtime::Result<()>2455     pub fn SetContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2456         let this = self;
2457         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2458     }
Path(&self) -> ::windows::runtime::Result<super::IStorageFolder>2459     pub fn Path(&self) -> ::windows::runtime::Result<super::IStorageFolder> {
2460         let this = self;
2461         unsafe {
2462             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2463             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::IStorageFolder>(result__)
2464         }
2465     }
SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFolder>>(&self, value: Param0) -> ::windows::runtime::Result<()>2466     pub fn SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFolder>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2467         let this = self;
2468         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2469     }
DisplayNameResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2470     pub fn DisplayNameResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2471         let this = self;
2472         unsafe {
2473             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2474             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2475         }
2476     }
SetDisplayNameResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2477     pub fn SetDisplayNameResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2478         let this = self;
2479         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2480     }
IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2481     pub fn IconResource(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2482         let this = self;
2483         unsafe {
2484             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2485             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2486         }
2487     }
SetIconResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2488     pub fn SetIconResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2489         let this = self;
2490         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2491     }
HydrationPolicy(&self) -> ::windows::runtime::Result<StorageProviderHydrationPolicy>2492     pub fn HydrationPolicy(&self) -> ::windows::runtime::Result<StorageProviderHydrationPolicy> {
2493         let this = self;
2494         unsafe {
2495             let mut result__: StorageProviderHydrationPolicy = ::std::mem::zeroed();
2496             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderHydrationPolicy>(result__)
2497         }
2498     }
SetHydrationPolicy(&self, value: StorageProviderHydrationPolicy) -> ::windows::runtime::Result<()>2499     pub fn SetHydrationPolicy(&self, value: StorageProviderHydrationPolicy) -> ::windows::runtime::Result<()> {
2500         let this = self;
2501         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
2502     }
HydrationPolicyModifier(&self) -> ::windows::runtime::Result<StorageProviderHydrationPolicyModifier>2503     pub fn HydrationPolicyModifier(&self) -> ::windows::runtime::Result<StorageProviderHydrationPolicyModifier> {
2504         let this = self;
2505         unsafe {
2506             let mut result__: StorageProviderHydrationPolicyModifier = ::std::mem::zeroed();
2507             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderHydrationPolicyModifier>(result__)
2508         }
2509     }
SetHydrationPolicyModifier(&self, value: StorageProviderHydrationPolicyModifier) -> ::windows::runtime::Result<()>2510     pub fn SetHydrationPolicyModifier(&self, value: StorageProviderHydrationPolicyModifier) -> ::windows::runtime::Result<()> {
2511         let this = self;
2512         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
2513     }
PopulationPolicy(&self) -> ::windows::runtime::Result<StorageProviderPopulationPolicy>2514     pub fn PopulationPolicy(&self) -> ::windows::runtime::Result<StorageProviderPopulationPolicy> {
2515         let this = self;
2516         unsafe {
2517             let mut result__: StorageProviderPopulationPolicy = ::std::mem::zeroed();
2518             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderPopulationPolicy>(result__)
2519         }
2520     }
SetPopulationPolicy(&self, value: StorageProviderPopulationPolicy) -> ::windows::runtime::Result<()>2521     pub fn SetPopulationPolicy(&self, value: StorageProviderPopulationPolicy) -> ::windows::runtime::Result<()> {
2522         let this = self;
2523         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
2524     }
InSyncPolicy(&self) -> ::windows::runtime::Result<StorageProviderInSyncPolicy>2525     pub fn InSyncPolicy(&self) -> ::windows::runtime::Result<StorageProviderInSyncPolicy> {
2526         let this = self;
2527         unsafe {
2528             let mut result__: StorageProviderInSyncPolicy = ::std::mem::zeroed();
2529             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderInSyncPolicy>(result__)
2530         }
2531     }
SetInSyncPolicy(&self, value: StorageProviderInSyncPolicy) -> ::windows::runtime::Result<()>2532     pub fn SetInSyncPolicy(&self, value: StorageProviderInSyncPolicy) -> ::windows::runtime::Result<()> {
2533         let this = self;
2534         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
2535     }
HardlinkPolicy(&self) -> ::windows::runtime::Result<StorageProviderHardlinkPolicy>2536     pub fn HardlinkPolicy(&self) -> ::windows::runtime::Result<StorageProviderHardlinkPolicy> {
2537         let this = self;
2538         unsafe {
2539             let mut result__: StorageProviderHardlinkPolicy = ::std::mem::zeroed();
2540             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderHardlinkPolicy>(result__)
2541         }
2542     }
SetHardlinkPolicy(&self, value: StorageProviderHardlinkPolicy) -> ::windows::runtime::Result<()>2543     pub fn SetHardlinkPolicy(&self, value: StorageProviderHardlinkPolicy) -> ::windows::runtime::Result<()> {
2544         let this = self;
2545         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
2546     }
ShowSiblingsAsGroup(&self) -> ::windows::runtime::Result<bool>2547     pub fn ShowSiblingsAsGroup(&self) -> ::windows::runtime::Result<bool> {
2548         let this = self;
2549         unsafe {
2550             let mut result__: bool = ::std::mem::zeroed();
2551             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2552         }
2553     }
SetShowSiblingsAsGroup(&self, value: bool) -> ::windows::runtime::Result<()>2554     pub fn SetShowSiblingsAsGroup(&self, value: bool) -> ::windows::runtime::Result<()> {
2555         let this = self;
2556         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
2557     }
Version(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2558     pub fn Version(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2559         let this = self;
2560         unsafe {
2561             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2562             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2563         }
2564     }
SetVersion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2565     pub fn SetVersion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2566         let this = self;
2567         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2568     }
ProtectionMode(&self) -> ::windows::runtime::Result<StorageProviderProtectionMode>2569     pub fn ProtectionMode(&self) -> ::windows::runtime::Result<StorageProviderProtectionMode> {
2570         let this = self;
2571         unsafe {
2572             let mut result__: StorageProviderProtectionMode = ::std::mem::zeroed();
2573             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProviderProtectionMode>(result__)
2574         }
2575     }
SetProtectionMode(&self, value: StorageProviderProtectionMode) -> ::windows::runtime::Result<()>2576     pub fn SetProtectionMode(&self, value: StorageProviderProtectionMode) -> ::windows::runtime::Result<()> {
2577         let this = self;
2578         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value).ok() }
2579     }
AllowPinning(&self) -> ::windows::runtime::Result<bool>2580     pub fn AllowPinning(&self) -> ::windows::runtime::Result<bool> {
2581         let this = self;
2582         unsafe {
2583             let mut result__: bool = ::std::mem::zeroed();
2584             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2585         }
2586     }
SetAllowPinning(&self, value: bool) -> ::windows::runtime::Result<()>2587     pub fn SetAllowPinning(&self, value: bool) -> ::windows::runtime::Result<()> {
2588         let this = self;
2589         unsafe { (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value).ok() }
2590     }
2591     #[cfg(feature = "Foundation_Collections")]
StorageProviderItemPropertyDefinitions(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<StorageProviderItemPropertyDefinition>>2592     pub fn StorageProviderItemPropertyDefinitions(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<StorageProviderItemPropertyDefinition>> {
2593         let this = self;
2594         unsafe {
2595             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2596             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<StorageProviderItemPropertyDefinition>>(result__)
2597         }
2598     }
2599     #[cfg(feature = "Foundation")]
RecycleBinUri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>2600     pub fn RecycleBinUri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
2601         let this = self;
2602         unsafe {
2603             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2604             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
2605         }
2606     }
2607     #[cfg(feature = "Foundation")]
SetRecycleBinUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()>2608     pub fn SetRecycleBinUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2609         let this = self;
2610         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2611     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2612     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2613         let this = &::windows::runtime::Interface::cast::<IStorageProviderSyncRootInfo2>(self)?;
2614         unsafe {
2615             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
2616             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2617         }
2618     }
SetProviderId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, value: Param0) -> ::windows::runtime::Result<()>2619     pub fn SetProviderId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2620         let this = &::windows::runtime::Interface::cast::<IStorageProviderSyncRootInfo2>(self)?;
2621         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2622     }
2623     #[cfg(feature = "Foundation_Collections")]
FallbackFileTypeInfo(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<StorageProviderFileTypeInfo>>2624     pub fn FallbackFileTypeInfo(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<StorageProviderFileTypeInfo>> {
2625         let this = &::windows::runtime::Interface::cast::<IStorageProviderSyncRootInfo3>(self)?;
2626         unsafe {
2627             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2628             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<StorageProviderFileTypeInfo>>(result__)
2629         }
2630     }
2631 }
2632 unsafe impl ::windows::runtime::RuntimeType for StorageProviderSyncRootInfo {
2633     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.Provider.StorageProviderSyncRootInfo;{7c1305c4-99f9-41ac-8904-ab055d654926})");
2634 }
2635 unsafe impl ::windows::runtime::Interface for StorageProviderSyncRootInfo {
2636     type Vtable = IStorageProviderSyncRootInfo_abi;
2637     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2081621444, 39417, 16812, [137, 4, 171, 5, 93, 101, 73, 38]);
2638 }
2639 impl ::windows::runtime::RuntimeName for StorageProviderSyncRootInfo {
2640     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderSyncRootInfo";
2641 }
2642 impl ::std::convert::From<StorageProviderSyncRootInfo> for ::windows::runtime::IUnknown {
from(value: StorageProviderSyncRootInfo) -> Self2643     fn from(value: StorageProviderSyncRootInfo) -> Self {
2644         unsafe { ::std::mem::transmute(value) }
2645     }
2646 }
2647 impl ::std::convert::From<&StorageProviderSyncRootInfo> for ::windows::runtime::IUnknown {
from(value: &StorageProviderSyncRootInfo) -> Self2648     fn from(value: &StorageProviderSyncRootInfo) -> Self {
2649         ::std::convert::From::from(::std::clone::Clone::clone(value))
2650     }
2651 }
2652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProviderSyncRootInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2655     }
2656 }
2657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProviderSyncRootInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2660     }
2661 }
2662 impl ::std::convert::From<StorageProviderSyncRootInfo> for ::windows::runtime::IInspectable {
from(value: StorageProviderSyncRootInfo) -> Self2663     fn from(value: StorageProviderSyncRootInfo) -> Self {
2664         value.0
2665     }
2666 }
2667 impl ::std::convert::From<&StorageProviderSyncRootInfo> for ::windows::runtime::IInspectable {
from(value: &StorageProviderSyncRootInfo) -> Self2668     fn from(value: &StorageProviderSyncRootInfo) -> Self {
2669         value.0.clone()
2670     }
2671 }
2672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProviderSyncRootInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2674         ::windows::runtime::Param::Owned(self.0)
2675     }
2676 }
2677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProviderSyncRootInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2679         ::windows::runtime::Param::Borrowed(&self.0)
2680     }
2681 }
2682 unsafe impl ::std::marker::Send for StorageProviderSyncRootInfo {}
2683 unsafe impl ::std::marker::Sync for StorageProviderSyncRootInfo {}
2684 pub struct StorageProviderSyncRootManager {}
2685 impl StorageProviderSyncRootManager {
Register<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderSyncRootInfo>>(syncrootinformation: Param0) -> ::windows::runtime::Result<()>2686     pub fn Register<'a, Param0: ::windows::runtime::IntoParam<'a, StorageProviderSyncRootInfo>>(syncrootinformation: Param0) -> ::windows::runtime::Result<()> {
2687         Self::IStorageProviderSyncRootManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), syncrootinformation.into_param().abi()).ok() })
2688     }
Unregister<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0) -> ::windows::runtime::Result<()>2689     pub fn Unregister<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0) -> ::windows::runtime::Result<()> {
2690         Self::IStorageProviderSyncRootManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), id.into_param().abi()).ok() })
2691     }
GetSyncRootInformationForFolder<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFolder>>(folder: Param0) -> ::windows::runtime::Result<StorageProviderSyncRootInfo>2692     pub fn GetSyncRootInformationForFolder<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFolder>>(folder: Param0) -> ::windows::runtime::Result<StorageProviderSyncRootInfo> {
2693         Self::IStorageProviderSyncRootManagerStatics(|this| unsafe {
2694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2695             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), folder.into_param().abi(), &mut result__).from_abi::<StorageProviderSyncRootInfo>(result__)
2696         })
2697     }
GetSyncRootInformationForId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0) -> ::windows::runtime::Result<StorageProviderSyncRootInfo>2698     pub fn GetSyncRootInformationForId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(id: Param0) -> ::windows::runtime::Result<StorageProviderSyncRootInfo> {
2699         Self::IStorageProviderSyncRootManagerStatics(|this| unsafe {
2700             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2701             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<StorageProviderSyncRootInfo>(result__)
2702         })
2703     }
2704     #[cfg(feature = "Foundation_Collections")]
GetCurrentSyncRoots() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<StorageProviderSyncRootInfo>>2705     pub fn GetCurrentSyncRoots() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<StorageProviderSyncRootInfo>> {
2706         Self::IStorageProviderSyncRootManagerStatics(|this| unsafe {
2707             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2708             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<StorageProviderSyncRootInfo>>(result__)
2709         })
2710     }
IsSupported() -> ::windows::runtime::Result<bool>2711     pub fn IsSupported() -> ::windows::runtime::Result<bool> {
2712         Self::IStorageProviderSyncRootManagerStatics2(|this| unsafe {
2713             let mut result__: bool = ::std::mem::zeroed();
2714             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2715         })
2716     }
IStorageProviderSyncRootManagerStatics<R, F: FnOnce(&IStorageProviderSyncRootManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2717     pub fn IStorageProviderSyncRootManagerStatics<R, F: FnOnce(&IStorageProviderSyncRootManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2718         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderSyncRootManager, IStorageProviderSyncRootManagerStatics> = ::windows::runtime::FactoryCache::new();
2719         unsafe { SHARED.call(callback) }
2720     }
IStorageProviderSyncRootManagerStatics2<R, F: FnOnce(&IStorageProviderSyncRootManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2721     pub fn IStorageProviderSyncRootManagerStatics2<R, F: FnOnce(&IStorageProviderSyncRootManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2722         static mut SHARED: ::windows::runtime::FactoryCache<StorageProviderSyncRootManager, IStorageProviderSyncRootManagerStatics2> = ::windows::runtime::FactoryCache::new();
2723         unsafe { SHARED.call(callback) }
2724     }
2725 }
2726 impl ::windows::runtime::RuntimeName for StorageProviderSyncRootManager {
2727     const NAME: &'static str = "Windows.Storage.Provider.StorageProviderSyncRootManager";
2728 }
2729 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2730 #[repr(transparent)]
2731 pub struct StorageProviderUriSourceStatus(pub i32);
2732 impl StorageProviderUriSourceStatus {
2733     pub const Success: StorageProviderUriSourceStatus = StorageProviderUriSourceStatus(0i32);
2734     pub const NoSyncRoot: StorageProviderUriSourceStatus = StorageProviderUriSourceStatus(1i32);
2735     pub const FileNotFound: StorageProviderUriSourceStatus = StorageProviderUriSourceStatus(2i32);
2736 }
2737 impl ::std::convert::From<i32> for StorageProviderUriSourceStatus {
from(value: i32) -> Self2738     fn from(value: i32) -> Self {
2739         Self(value)
2740     }
2741 }
2742 unsafe impl ::windows::runtime::Abi for StorageProviderUriSourceStatus {
2743     type Abi = Self;
2744     type DefaultType = Self;
2745 }
2746 unsafe impl ::windows::runtime::RuntimeType for StorageProviderUriSourceStatus {
2747     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.StorageProviderUriSourceStatus;i4)");
2748 }
2749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2750 #[repr(transparent)]
2751 pub struct UIStatus(pub i32);
2752 impl UIStatus {
2753     pub const Unavailable: UIStatus = UIStatus(0i32);
2754     pub const Hidden: UIStatus = UIStatus(1i32);
2755     pub const Visible: UIStatus = UIStatus(2i32);
2756     pub const Complete: UIStatus = UIStatus(3i32);
2757 }
2758 impl ::std::convert::From<i32> for UIStatus {
from(value: i32) -> Self2759     fn from(value: i32) -> Self {
2760         Self(value)
2761     }
2762 }
2763 unsafe impl ::windows::runtime::Abi for UIStatus {
2764     type Abi = Self;
2765     type DefaultType = Self;
2766 }
2767 unsafe impl ::windows::runtime::RuntimeType for UIStatus {
2768     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.UIStatus;i4)");
2769 }
2770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2771 #[repr(transparent)]
2772 pub struct WriteActivationMode(pub i32);
2773 impl WriteActivationMode {
2774     pub const ReadOnly: WriteActivationMode = WriteActivationMode(0i32);
2775     pub const NotNeeded: WriteActivationMode = WriteActivationMode(1i32);
2776     pub const AfterWrite: WriteActivationMode = WriteActivationMode(2i32);
2777 }
2778 impl ::std::convert::From<i32> for WriteActivationMode {
from(value: i32) -> Self2779     fn from(value: i32) -> Self {
2780         Self(value)
2781     }
2782 }
2783 unsafe impl ::windows::runtime::Abi for WriteActivationMode {
2784     type Abi = Self;
2785     type DefaultType = Self;
2786 }
2787 unsafe impl ::windows::runtime::RuntimeType for WriteActivationMode {
2788     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.Provider.WriteActivationMode;i4)");
2789 }
2790