]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Storage/BulkAccess/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Storage / BulkAccess / mod.rs
1 #[doc(hidden)]
2 #[repr(transparent)]
3 pub struct IFileInformationFactory(::windows::core::IUnknown);
4 unsafe impl ::windows::core::Interface for IFileInformationFactory {
5 type Vtable = IFileInformationFactory_Vtbl;
6 }
7 impl ::core::clone::Clone for IFileInformationFactory {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11 }
12 unsafe impl ::windows::core::ComInterface for IFileInformationFactory {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x401d88be_960f_4d6d_a7d0_1a3861e76c83);
14 }
15 #[repr(C)]
16 #[doc(hidden)]
17 pub struct IFileInformationFactory_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 #[cfg(feature = "Foundation_Collections")]
20 pub GetItemsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startindex: u32, maxitemstoretrieve: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
21 #[cfg(not(feature = "Foundation_Collections"))]
22 GetItemsAsync: usize,
23 #[cfg(feature = "Foundation_Collections")]
24 pub GetItemsAsyncDefaultStartAndCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
25 #[cfg(not(feature = "Foundation_Collections"))]
26 GetItemsAsyncDefaultStartAndCount: usize,
27 #[cfg(feature = "Foundation_Collections")]
28 pub GetFilesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startindex: u32, maxitemstoretrieve: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
29 #[cfg(not(feature = "Foundation_Collections"))]
30 GetFilesAsync: usize,
31 #[cfg(feature = "Foundation_Collections")]
32 pub GetFilesAsyncDefaultStartAndCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
33 #[cfg(not(feature = "Foundation_Collections"))]
34 GetFilesAsyncDefaultStartAndCount: usize,
35 #[cfg(feature = "Foundation_Collections")]
36 pub GetFoldersAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startindex: u32, maxitemstoretrieve: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
37 #[cfg(not(feature = "Foundation_Collections"))]
38 GetFoldersAsync: usize,
39 #[cfg(feature = "Foundation_Collections")]
40 pub GetFoldersAsyncDefaultStartAndCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
41 #[cfg(not(feature = "Foundation_Collections"))]
42 GetFoldersAsyncDefaultStartAndCount: usize,
43 pub GetVirtualizedItemsVector: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
44 pub GetVirtualizedFilesVector: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
45 pub GetVirtualizedFoldersVector: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
46 }
47 #[doc(hidden)]
48 #[repr(transparent)]
49 pub struct IFileInformationFactoryFactory(::windows::core::IUnknown);
50 unsafe impl ::windows::core::Interface for IFileInformationFactoryFactory {
51 type Vtable = IFileInformationFactoryFactory_Vtbl;
52 }
53 impl ::core::clone::Clone for IFileInformationFactoryFactory {
54 fn clone(&self) -> Self {
55 Self(self.0.clone())
56 }
57 }
58 unsafe impl ::windows::core::ComInterface for IFileInformationFactoryFactory {
59 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x84ea0e7d_e4a2_4f00_8afa_af5e0f826bd5);
60 }
61 #[repr(C)]
62 #[doc(hidden)]
63 pub struct IFileInformationFactoryFactory_Vtbl {
64 pub base__: ::windows::core::IInspectable_Vtbl,
65 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
66 pub CreateWithMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, queryresult: *mut ::core::ffi::c_void, mode: super::FileProperties::ThumbnailMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
67 #[cfg(not(all(feature = "Storage_FileProperties", feature = "Storage_Search")))]
68 CreateWithMode: usize,
69 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
70 pub CreateWithModeAndSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, queryresult: *mut ::core::ffi::c_void, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
71 #[cfg(not(all(feature = "Storage_FileProperties", feature = "Storage_Search")))]
72 CreateWithModeAndSize: usize,
73 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
74 pub CreateWithModeAndSizeAndOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, queryresult: *mut ::core::ffi::c_void, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32, thumbnailoptions: super::FileProperties::ThumbnailOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
75 #[cfg(not(all(feature = "Storage_FileProperties", feature = "Storage_Search")))]
76 CreateWithModeAndSizeAndOptions: usize,
77 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
78 pub CreateWithModeAndSizeAndOptionsAndFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, queryresult: *mut ::core::ffi::c_void, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32, thumbnailoptions: super::FileProperties::ThumbnailOptions, delayload: bool, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
79 #[cfg(not(all(feature = "Storage_FileProperties", feature = "Storage_Search")))]
80 CreateWithModeAndSizeAndOptionsAndFlags: usize,
81 }
82 #[doc = "*Required features: `\"Storage_BulkAccess\"`*"]
83 #[repr(transparent)]
84 pub struct IStorageItemInformation(::windows::core::IUnknown);
85 impl IStorageItemInformation {
86 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
87 #[cfg(feature = "Storage_FileProperties")]
88 pub fn MusicProperties(&self) -> ::windows::core::Result<super::FileProperties::MusicProperties> {
89 let this = self;
90 unsafe {
91 let mut result__ = ::windows::core::zeroed::<super::FileProperties::MusicProperties>();
92 (::windows::core::Interface::vtable(this).MusicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
93 }
94 }
95 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
96 #[cfg(feature = "Storage_FileProperties")]
97 pub fn VideoProperties(&self) -> ::windows::core::Result<super::FileProperties::VideoProperties> {
98 let this = self;
99 unsafe {
100 let mut result__ = ::windows::core::zeroed::<super::FileProperties::VideoProperties>();
101 (::windows::core::Interface::vtable(this).VideoProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
102 }
103 }
104 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
105 #[cfg(feature = "Storage_FileProperties")]
106 pub fn ImageProperties(&self) -> ::windows::core::Result<super::FileProperties::ImageProperties> {
107 let this = self;
108 unsafe {
109 let mut result__ = ::windows::core::zeroed::<super::FileProperties::ImageProperties>();
110 (::windows::core::Interface::vtable(this).ImageProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
111 }
112 }
113 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
114 #[cfg(feature = "Storage_FileProperties")]
115 pub fn DocumentProperties(&self) -> ::windows::core::Result<super::FileProperties::DocumentProperties> {
116 let this = self;
117 unsafe {
118 let mut result__ = ::windows::core::zeroed::<super::FileProperties::DocumentProperties>();
119 (::windows::core::Interface::vtable(this).DocumentProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
120 }
121 }
122 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
123 #[cfg(feature = "Storage_FileProperties")]
124 pub fn BasicProperties(&self) -> ::windows::core::Result<super::FileProperties::BasicProperties> {
125 let this = self;
126 unsafe {
127 let mut result__ = ::windows::core::zeroed::<super::FileProperties::BasicProperties>();
128 (::windows::core::Interface::vtable(this).BasicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
129 }
130 }
131 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
132 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))]
133 pub fn Thumbnail(&self) -> ::windows::core::Result<super::FileProperties::StorageItemThumbnail> {
134 let this = self;
135 unsafe {
136 let mut result__ = ::windows::core::zeroed::<super::FileProperties::StorageItemThumbnail>();
137 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
138 }
139 }
140 #[doc = "*Required features: `\"Foundation\"`*"]
141 #[cfg(feature = "Foundation")]
142 pub fn ThumbnailUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
143 let this = self;
144 unsafe {
145 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
146 (::windows::core::Interface::vtable(this).ThumbnailUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
147 }
148 }
149 #[doc = "*Required features: `\"Foundation\"`*"]
150 #[cfg(feature = "Foundation")]
151 pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
152 let this = self;
153 unsafe { (::windows::core::Interface::vtable(this).RemoveThumbnailUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
154 }
155 #[doc = "*Required features: `\"Foundation\"`*"]
156 #[cfg(feature = "Foundation")]
157 pub fn PropertiesUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
158 let this = self;
159 unsafe {
160 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
161 (::windows::core::Interface::vtable(this).PropertiesUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
162 }
163 }
164 #[doc = "*Required features: `\"Foundation\"`*"]
165 #[cfg(feature = "Foundation")]
166 pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
167 let this = self;
168 unsafe { (::windows::core::Interface::vtable(this).RemovePropertiesUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
169 }
170 }
171 ::windows::imp::interface_hierarchy!(IStorageItemInformation, ::windows::core::IUnknown, ::windows::core::IInspectable);
172 impl ::core::cmp::PartialEq for IStorageItemInformation {
173 fn eq(&self, other: &Self) -> bool {
174 self.0 == other.0
175 }
176 }
177 impl ::core::cmp::Eq for IStorageItemInformation {}
178 impl ::core::fmt::Debug for IStorageItemInformation {
179 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
180 f.debug_tuple("IStorageItemInformation").field(&self.0).finish()
181 }
182 }
183 impl ::windows::core::RuntimeType for IStorageItemInformation {
184 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{87a5cb8b-8972-4f40-8de0-d86fb179d8fa}");
185 }
186 unsafe impl ::windows::core::Interface for IStorageItemInformation {
187 type Vtable = IStorageItemInformation_Vtbl;
188 }
189 impl ::core::clone::Clone for IStorageItemInformation {
190 fn clone(&self) -> Self {
191 Self(self.0.clone())
192 }
193 }
194 unsafe impl ::windows::core::ComInterface for IStorageItemInformation {
195 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x87a5cb8b_8972_4f40_8de0_d86fb179d8fa);
196 }
197 #[repr(C)]
198 #[doc(hidden)]
199 pub struct IStorageItemInformation_Vtbl {
200 pub base__: ::windows::core::IInspectable_Vtbl,
201 #[cfg(feature = "Storage_FileProperties")]
202 pub MusicProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
203 #[cfg(not(feature = "Storage_FileProperties"))]
204 MusicProperties: usize,
205 #[cfg(feature = "Storage_FileProperties")]
206 pub VideoProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
207 #[cfg(not(feature = "Storage_FileProperties"))]
208 VideoProperties: usize,
209 #[cfg(feature = "Storage_FileProperties")]
210 pub ImageProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
211 #[cfg(not(feature = "Storage_FileProperties"))]
212 ImageProperties: usize,
213 #[cfg(feature = "Storage_FileProperties")]
214 pub DocumentProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
215 #[cfg(not(feature = "Storage_FileProperties"))]
216 DocumentProperties: usize,
217 #[cfg(feature = "Storage_FileProperties")]
218 pub BasicProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
219 #[cfg(not(feature = "Storage_FileProperties"))]
220 BasicProperties: usize,
221 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))]
222 pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
223 #[cfg(not(all(feature = "Storage_FileProperties", feature = "Storage_Streams")))]
224 Thumbnail: usize,
225 #[cfg(feature = "Foundation")]
226 pub ThumbnailUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, changedhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
227 #[cfg(not(feature = "Foundation"))]
228 ThumbnailUpdated: usize,
229 #[cfg(feature = "Foundation")]
230 pub RemoveThumbnailUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
231 #[cfg(not(feature = "Foundation"))]
232 RemoveThumbnailUpdated: usize,
233 #[cfg(feature = "Foundation")]
234 pub PropertiesUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, changedhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
235 #[cfg(not(feature = "Foundation"))]
236 PropertiesUpdated: usize,
237 #[cfg(feature = "Foundation")]
238 pub RemovePropertiesUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
239 #[cfg(not(feature = "Foundation"))]
240 RemovePropertiesUpdated: usize,
241 }
242 #[doc = "*Required features: `\"Storage_BulkAccess\"`*"]
243 #[repr(transparent)]
244 pub struct FileInformation(::windows::core::IUnknown);
245 impl FileInformation {
246 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
247 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
248 pub fn OpenSequentialReadAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::Streams::IInputStream>> {
249 let this = &::windows::core::ComInterface::cast::<super::Streams::IInputStreamReference>(self)?;
250 unsafe {
251 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::Streams::IInputStream>>();
252 (::windows::core::Interface::vtable(this).OpenSequentialReadAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
253 }
254 }
255 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
256 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
257 pub fn OpenReadAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStreamWithContentType>> {
258 let this = &::windows::core::ComInterface::cast::<super::Streams::IRandomAccessStreamReference>(self)?;
259 unsafe {
260 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStreamWithContentType>>();
261 (::windows::core::Interface::vtable(this).OpenReadAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
262 }
263 }
264 pub fn FileType(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
265 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
266 unsafe {
267 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
268 (::windows::core::Interface::vtable(this).FileType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
269 }
270 }
271 pub fn ContentType(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
272 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
273 unsafe {
274 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
275 (::windows::core::Interface::vtable(this).ContentType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
276 }
277 }
278 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
279 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
280 pub fn OpenAsync(&self, accessmode: super::FileAccessMode) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStream>> {
281 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
282 unsafe {
283 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStream>>();
284 (::windows::core::Interface::vtable(this).OpenAsync)(::windows::core::Interface::as_raw(this), accessmode, &mut result__).from_abi(result__)
285 }
286 }
287 #[doc = "*Required features: `\"Foundation\"`*"]
288 #[cfg(feature = "Foundation")]
289 pub fn OpenTransactedWriteAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageStreamTransaction>> {
290 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
291 unsafe {
292 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageStreamTransaction>>();
293 (::windows::core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
294 }
295 }
296 #[doc = "*Required features: `\"Foundation\"`*"]
297 #[cfg(feature = "Foundation")]
298 pub fn CopyOverloadDefaultNameAndOptions<P0>(&self, destinationfolder: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>>
299 where
300 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
301 {
302 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
303 unsafe {
304 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
305 (::windows::core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), &mut result__).from_abi(result__)
306 }
307 }
308 #[doc = "*Required features: `\"Foundation\"`*"]
309 #[cfg(feature = "Foundation")]
310 pub fn CopyOverloadDefaultOptions<P0>(&self, destinationfolder: P0, desirednewname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>>
311 where
312 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
313 {
314 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
315 unsafe {
316 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
317 (::windows::core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__)
318 }
319 }
320 #[doc = "*Required features: `\"Foundation\"`*"]
321 #[cfg(feature = "Foundation")]
322 pub fn CopyOverload<P0>(&self, destinationfolder: P0, desirednewname: &::windows::core::HSTRING, option: super::NameCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>>
323 where
324 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
325 {
326 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
327 unsafe {
328 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
329 (::windows::core::Interface::vtable(this).CopyOverload)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__)
330 }
331 }
332 #[doc = "*Required features: `\"Foundation\"`*"]
333 #[cfg(feature = "Foundation")]
334 pub fn CopyAndReplaceAsync<P0>(&self, filetoreplace: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
335 where
336 P0: ::windows::core::TryIntoParam<super::IStorageFile>,
337 {
338 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
339 unsafe {
340 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
341 (::windows::core::Interface::vtable(this).CopyAndReplaceAsync)(::windows::core::Interface::as_raw(this), filetoreplace.try_into_param()?.abi(), &mut result__).from_abi(result__)
342 }
343 }
344 #[doc = "*Required features: `\"Foundation\"`*"]
345 #[cfg(feature = "Foundation")]
346 pub fn MoveOverloadDefaultNameAndOptions<P0>(&self, destinationfolder: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
347 where
348 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
349 {
350 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
351 unsafe {
352 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
353 (::windows::core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), &mut result__).from_abi(result__)
354 }
355 }
356 #[doc = "*Required features: `\"Foundation\"`*"]
357 #[cfg(feature = "Foundation")]
358 pub fn MoveOverloadDefaultOptions<P0>(&self, destinationfolder: P0, desirednewname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
359 where
360 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
361 {
362 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
363 unsafe {
364 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
365 (::windows::core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__)
366 }
367 }
368 #[doc = "*Required features: `\"Foundation\"`*"]
369 #[cfg(feature = "Foundation")]
370 pub fn MoveOverload<P0>(&self, destinationfolder: P0, desirednewname: &::windows::core::HSTRING, option: super::NameCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
371 where
372 P0: ::windows::core::TryIntoParam<super::IStorageFolder>,
373 {
374 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
375 unsafe {
376 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
377 (::windows::core::Interface::vtable(this).MoveOverload)(::windows::core::Interface::as_raw(this), destinationfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__)
378 }
379 }
380 #[doc = "*Required features: `\"Foundation\"`*"]
381 #[cfg(feature = "Foundation")]
382 pub fn MoveAndReplaceAsync<P0>(&self, filetoreplace: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
383 where
384 P0: ::windows::core::TryIntoParam<super::IStorageFile>,
385 {
386 let this = &::windows::core::ComInterface::cast::<super::IStorageFile>(self)?;
387 unsafe {
388 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
389 (::windows::core::Interface::vtable(this).MoveAndReplaceAsync)(::windows::core::Interface::as_raw(this), filetoreplace.try_into_param()?.abi(), &mut result__).from_abi(result__)
390 }
391 }
392 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
393 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
394 pub fn OpenWithOptionsAsync(&self, accessmode: super::FileAccessMode, options: super::StorageOpenOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStream>> {
395 let this = &::windows::core::ComInterface::cast::<super::IStorageFile2>(self)?;
396 unsafe {
397 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::Streams::IRandomAccessStream>>();
398 (::windows::core::Interface::vtable(this).OpenWithOptionsAsync)(::windows::core::Interface::as_raw(this), accessmode, options, &mut result__).from_abi(result__)
399 }
400 }
401 #[doc = "*Required features: `\"Foundation\"`*"]
402 #[cfg(feature = "Foundation")]
403 pub fn OpenTransactedWriteWithOptionsAsync(&self, options: super::StorageOpenOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageStreamTransaction>> {
404 let this = &::windows::core::ComInterface::cast::<super::IStorageFile2>(self)?;
405 unsafe {
406 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageStreamTransaction>>();
407 (::windows::core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows::core::Interface::as_raw(this), options, &mut result__).from_abi(result__)
408 }
409 }
410 pub fn IsAvailable(&self) -> ::windows::core::Result<bool> {
411 let this = &::windows::core::ComInterface::cast::<super::IStorageFilePropertiesWithAvailability>(self)?;
412 unsafe {
413 let mut result__ = ::windows::core::zeroed::<bool>();
414 (::windows::core::Interface::vtable(this).IsAvailable)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
415 }
416 }
417 #[doc = "*Required features: `\"Foundation\"`*"]
418 #[cfg(feature = "Foundation")]
419 pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
420 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
421 unsafe {
422 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
423 (::windows::core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__)
424 }
425 }
426 #[doc = "*Required features: `\"Foundation\"`*"]
427 #[cfg(feature = "Foundation")]
428 pub fn RenameAsync(&self, desiredname: &::windows::core::HSTRING, option: super::NameCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
429 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
430 unsafe {
431 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
432 (::windows::core::Interface::vtable(this).RenameAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__)
433 }
434 }
435 #[doc = "*Required features: `\"Foundation\"`*"]
436 #[cfg(feature = "Foundation")]
437 pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
438 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
439 unsafe {
440 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
441 (::windows::core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
442 }
443 }
444 #[doc = "*Required features: `\"Foundation\"`*"]
445 #[cfg(feature = "Foundation")]
446 pub fn DeleteAsync(&self, option: super::StorageDeleteOption) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
447 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
448 unsafe {
449 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
450 (::windows::core::Interface::vtable(this).DeleteAsync)(::windows::core::Interface::as_raw(this), option, &mut result__).from_abi(result__)
451 }
452 }
453 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`*"]
454 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
455 pub fn GetBasicPropertiesAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::BasicProperties>> {
456 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
457 unsafe {
458 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::BasicProperties>>();
459 (::windows::core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
460 }
461 }
462 pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
463 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
464 unsafe {
465 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
466 (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
467 }
468 }
469 pub fn Path(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
470 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
471 unsafe {
472 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
473 (::windows::core::Interface::vtable(this).Path)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
474 }
475 }
476 pub fn Attributes(&self) -> ::windows::core::Result<super::FileAttributes> {
477 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
478 unsafe {
479 let mut result__ = ::windows::core::zeroed::<super::FileAttributes>();
480 (::windows::core::Interface::vtable(this).Attributes)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
481 }
482 }
483 #[doc = "*Required features: `\"Foundation\"`*"]
484 #[cfg(feature = "Foundation")]
485 pub fn DateCreated(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
486 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
487 unsafe {
488 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
489 (::windows::core::Interface::vtable(this).DateCreated)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
490 }
491 }
492 pub fn IsOfType(&self, r#type: super::StorageItemTypes) -> ::windows::core::Result<bool> {
493 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
494 unsafe {
495 let mut result__ = ::windows::core::zeroed::<bool>();
496 (::windows::core::Interface::vtable(this).IsOfType)(::windows::core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__)
497 }
498 }
499 #[doc = "*Required features: `\"Foundation\"`*"]
500 #[cfg(feature = "Foundation")]
501 pub fn GetParentAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFolder>> {
502 let this = &::windows::core::ComInterface::cast::<super::IStorageItem2>(self)?;
503 unsafe {
504 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFolder>>();
505 (::windows::core::Interface::vtable(this).GetParentAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
506 }
507 }
508 pub fn IsEqual<P0>(&self, item: P0) -> ::windows::core::Result<bool>
509 where
510 P0: ::windows::core::TryIntoParam<super::IStorageItem>,
511 {
512 let this = &::windows::core::ComInterface::cast::<super::IStorageItem2>(self)?;
513 unsafe {
514 let mut result__ = ::windows::core::zeroed::<bool>();
515 (::windows::core::Interface::vtable(this).IsEqual)(::windows::core::Interface::as_raw(this), item.try_into_param()?.abi(), &mut result__).from_abi(result__)
516 }
517 }
518 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
519 #[cfg(feature = "Storage_FileProperties")]
520 pub fn MusicProperties(&self) -> ::windows::core::Result<super::FileProperties::MusicProperties> {
521 let this = self;
522 unsafe {
523 let mut result__ = ::windows::core::zeroed::<super::FileProperties::MusicProperties>();
524 (::windows::core::Interface::vtable(this).MusicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
525 }
526 }
527 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
528 #[cfg(feature = "Storage_FileProperties")]
529 pub fn VideoProperties(&self) -> ::windows::core::Result<super::FileProperties::VideoProperties> {
530 let this = self;
531 unsafe {
532 let mut result__ = ::windows::core::zeroed::<super::FileProperties::VideoProperties>();
533 (::windows::core::Interface::vtable(this).VideoProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
534 }
535 }
536 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
537 #[cfg(feature = "Storage_FileProperties")]
538 pub fn ImageProperties(&self) -> ::windows::core::Result<super::FileProperties::ImageProperties> {
539 let this = self;
540 unsafe {
541 let mut result__ = ::windows::core::zeroed::<super::FileProperties::ImageProperties>();
542 (::windows::core::Interface::vtable(this).ImageProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
543 }
544 }
545 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
546 #[cfg(feature = "Storage_FileProperties")]
547 pub fn DocumentProperties(&self) -> ::windows::core::Result<super::FileProperties::DocumentProperties> {
548 let this = self;
549 unsafe {
550 let mut result__ = ::windows::core::zeroed::<super::FileProperties::DocumentProperties>();
551 (::windows::core::Interface::vtable(this).DocumentProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
552 }
553 }
554 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
555 #[cfg(feature = "Storage_FileProperties")]
556 pub fn BasicProperties(&self) -> ::windows::core::Result<super::FileProperties::BasicProperties> {
557 let this = self;
558 unsafe {
559 let mut result__ = ::windows::core::zeroed::<super::FileProperties::BasicProperties>();
560 (::windows::core::Interface::vtable(this).BasicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
561 }
562 }
563 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
564 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))]
565 pub fn Thumbnail(&self) -> ::windows::core::Result<super::FileProperties::StorageItemThumbnail> {
566 let this = self;
567 unsafe {
568 let mut result__ = ::windows::core::zeroed::<super::FileProperties::StorageItemThumbnail>();
569 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
570 }
571 }
572 #[doc = "*Required features: `\"Foundation\"`*"]
573 #[cfg(feature = "Foundation")]
574 pub fn ThumbnailUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
575 let this = self;
576 unsafe {
577 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
578 (::windows::core::Interface::vtable(this).ThumbnailUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
579 }
580 }
581 #[doc = "*Required features: `\"Foundation\"`*"]
582 #[cfg(feature = "Foundation")]
583 pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
584 let this = self;
585 unsafe { (::windows::core::Interface::vtable(this).RemoveThumbnailUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
586 }
587 #[doc = "*Required features: `\"Foundation\"`*"]
588 #[cfg(feature = "Foundation")]
589 pub fn PropertiesUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
590 let this = self;
591 unsafe {
592 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
593 (::windows::core::Interface::vtable(this).PropertiesUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
594 }
595 }
596 #[doc = "*Required features: `\"Foundation\"`*"]
597 #[cfg(feature = "Foundation")]
598 pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
599 let this = self;
600 unsafe { (::windows::core::Interface::vtable(this).RemovePropertiesUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
601 }
602 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
603 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
604 pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: super::FileProperties::ThumbnailMode) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
605 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
606 unsafe {
607 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
608 (::windows::core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows::core::Interface::as_raw(this), mode, &mut result__).from_abi(result__)
609 }
610 }
611 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
612 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
613 pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: super::FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
614 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
615 unsafe {
616 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
617 (::windows::core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__)
618 }
619 }
620 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
621 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
622 pub fn GetThumbnailAsync(&self, mode: super::FileProperties::ThumbnailMode, requestedsize: u32, options: super::FileProperties::ThumbnailOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
623 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
624 unsafe {
625 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
626 (::windows::core::Interface::vtable(this).GetThumbnailAsync)(::windows::core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__)
627 }
628 }
629 pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
630 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
631 unsafe {
632 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
633 (::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
634 }
635 }
636 pub fn DisplayType(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
637 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
638 unsafe {
639 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
640 (::windows::core::Interface::vtable(this).DisplayType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
641 }
642 }
643 pub fn FolderRelativeId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
644 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
645 unsafe {
646 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
647 (::windows::core::Interface::vtable(this).FolderRelativeId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
648 }
649 }
650 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
651 #[cfg(feature = "Storage_FileProperties")]
652 pub fn Properties(&self) -> ::windows::core::Result<super::FileProperties::StorageItemContentProperties> {
653 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
654 unsafe {
655 let mut result__ = ::windows::core::zeroed::<super::FileProperties::StorageItemContentProperties>();
656 (::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
657 }
658 }
659 pub fn Provider(&self) -> ::windows::core::Result<super::StorageProvider> {
660 let this = &::windows::core::ComInterface::cast::<super::IStorageItemPropertiesWithProvider>(self)?;
661 unsafe {
662 let mut result__ = ::windows::core::zeroed::<super::StorageProvider>();
663 (::windows::core::Interface::vtable(this).Provider)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
664 }
665 }
666 }
667 impl ::core::cmp::PartialEq for FileInformation {
668 fn eq(&self, other: &Self) -> bool {
669 self.0 == other.0
670 }
671 }
672 impl ::core::cmp::Eq for FileInformation {}
673 impl ::core::fmt::Debug for FileInformation {
674 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
675 f.debug_tuple("FileInformation").field(&self.0).finish()
676 }
677 }
678 impl ::windows::core::RuntimeType for FileInformation {
679 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Storage.BulkAccess.FileInformation;{87a5cb8b-8972-4f40-8de0-d86fb179d8fa})");
680 }
681 impl ::core::clone::Clone for FileInformation {
682 fn clone(&self) -> Self {
683 Self(self.0.clone())
684 }
685 }
686 unsafe impl ::windows::core::Interface for FileInformation {
687 type Vtable = IStorageItemInformation_Vtbl;
688 }
689 unsafe impl ::windows::core::ComInterface for FileInformation {
690 const IID: ::windows::core::GUID = <IStorageItemInformation as ::windows::core::ComInterface>::IID;
691 }
692 impl ::windows::core::RuntimeName for FileInformation {
693 const NAME: &'static str = "Windows.Storage.BulkAccess.FileInformation";
694 }
695 ::windows::imp::interface_hierarchy!(FileInformation, ::windows::core::IUnknown, ::windows::core::IInspectable);
696 #[cfg(feature = "Storage_Streams")]
697 impl ::windows::core::CanTryInto<super::Streams::IInputStreamReference> for FileInformation {}
698 #[cfg(feature = "Storage_Streams")]
699 impl ::windows::core::CanTryInto<super::Streams::IRandomAccessStreamReference> for FileInformation {}
700 impl ::windows::core::CanTryInto<super::IStorageFile> for FileInformation {}
701 impl ::windows::core::CanTryInto<super::IStorageFile2> for FileInformation {}
702 impl ::windows::core::CanTryInto<super::IStorageFilePropertiesWithAvailability> for FileInformation {}
703 impl ::windows::core::CanTryInto<super::IStorageItem> for FileInformation {}
704 impl ::windows::core::CanTryInto<super::IStorageItem2> for FileInformation {}
705 impl ::windows::core::CanTryInto<IStorageItemInformation> for FileInformation {}
706 impl ::windows::core::CanTryInto<super::IStorageItemProperties> for FileInformation {}
707 impl ::windows::core::CanTryInto<super::IStorageItemPropertiesWithProvider> for FileInformation {}
708 #[doc = "*Required features: `\"Storage_BulkAccess\"`*"]
709 #[repr(transparent)]
710 pub struct FileInformationFactory(::windows::core::IUnknown);
711 impl FileInformationFactory {
712 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
713 #[cfg(feature = "Foundation_Collections")]
714 pub fn GetItemsAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<IStorageItemInformation>>> {
715 let this = self;
716 unsafe {
717 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<IStorageItemInformation>>>();
718 (::windows::core::Interface::vtable(this).GetItemsAsync)(::windows::core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
719 }
720 }
721 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
722 #[cfg(feature = "Foundation_Collections")]
723 pub fn GetItemsAsyncDefaultStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<IStorageItemInformation>>> {
724 let this = self;
725 unsafe {
726 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<IStorageItemInformation>>>();
727 (::windows::core::Interface::vtable(this).GetItemsAsyncDefaultStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
728 }
729 }
730 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
731 #[cfg(feature = "Foundation_Collections")]
732 pub fn GetFilesAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FileInformation>>> {
733 let this = self;
734 unsafe {
735 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FileInformation>>>();
736 (::windows::core::Interface::vtable(this).GetFilesAsync)(::windows::core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
737 }
738 }
739 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
740 #[cfg(feature = "Foundation_Collections")]
741 pub fn GetFilesAsyncDefaultStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FileInformation>>> {
742 let this = self;
743 unsafe {
744 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FileInformation>>>();
745 (::windows::core::Interface::vtable(this).GetFilesAsyncDefaultStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
746 }
747 }
748 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
749 #[cfg(feature = "Foundation_Collections")]
750 pub fn GetFoldersAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FolderInformation>>> {
751 let this = self;
752 unsafe {
753 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FolderInformation>>>();
754 (::windows::core::Interface::vtable(this).GetFoldersAsync)(::windows::core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
755 }
756 }
757 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
758 #[cfg(feature = "Foundation_Collections")]
759 pub fn GetFoldersAsyncDefaultStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FolderInformation>>> {
760 let this = self;
761 unsafe {
762 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<FolderInformation>>>();
763 (::windows::core::Interface::vtable(this).GetFoldersAsyncDefaultStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
764 }
765 }
766 pub fn GetVirtualizedItemsVector(&self) -> ::windows::core::Result<::windows::core::IInspectable> {
767 let this = self;
768 unsafe {
769 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
770 (::windows::core::Interface::vtable(this).GetVirtualizedItemsVector)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
771 }
772 }
773 pub fn GetVirtualizedFilesVector(&self) -> ::windows::core::Result<::windows::core::IInspectable> {
774 let this = self;
775 unsafe {
776 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
777 (::windows::core::Interface::vtable(this).GetVirtualizedFilesVector)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
778 }
779 }
780 pub fn GetVirtualizedFoldersVector(&self) -> ::windows::core::Result<::windows::core::IInspectable> {
781 let this = self;
782 unsafe {
783 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
784 (::windows::core::Interface::vtable(this).GetVirtualizedFoldersVector)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
785 }
786 }
787 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Search\"`*"]
788 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
789 pub fn CreateWithMode<P0>(queryresult: P0, mode: super::FileProperties::ThumbnailMode) -> ::windows::core::Result<FileInformationFactory>
790 where
791 P0: ::windows::core::TryIntoParam<super::Search::IStorageQueryResultBase>,
792 {
793 Self::IFileInformationFactoryFactory(|this| unsafe {
794 let mut result__ = ::windows::core::zeroed::<FileInformationFactory>();
795 (::windows::core::Interface::vtable(this).CreateWithMode)(::windows::core::Interface::as_raw(this), queryresult.try_into_param()?.abi(), mode, &mut result__).from_abi(result__)
796 })
797 }
798 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Search\"`*"]
799 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
800 pub fn CreateWithModeAndSize<P0>(queryresult: P0, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32) -> ::windows::core::Result<FileInformationFactory>
801 where
802 P0: ::windows::core::TryIntoParam<super::Search::IStorageQueryResultBase>,
803 {
804 Self::IFileInformationFactoryFactory(|this| unsafe {
805 let mut result__ = ::windows::core::zeroed::<FileInformationFactory>();
806 (::windows::core::Interface::vtable(this).CreateWithModeAndSize)(::windows::core::Interface::as_raw(this), queryresult.try_into_param()?.abi(), mode, requestedthumbnailsize, &mut result__).from_abi(result__)
807 })
808 }
809 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Search\"`*"]
810 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
811 pub fn CreateWithModeAndSizeAndOptions<P0>(queryresult: P0, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32, thumbnailoptions: super::FileProperties::ThumbnailOptions) -> ::windows::core::Result<FileInformationFactory>
812 where
813 P0: ::windows::core::TryIntoParam<super::Search::IStorageQueryResultBase>,
814 {
815 Self::IFileInformationFactoryFactory(|this| unsafe {
816 let mut result__ = ::windows::core::zeroed::<FileInformationFactory>();
817 (::windows::core::Interface::vtable(this).CreateWithModeAndSizeAndOptions)(::windows::core::Interface::as_raw(this), queryresult.try_into_param()?.abi(), mode, requestedthumbnailsize, thumbnailoptions, &mut result__).from_abi(result__)
818 })
819 }
820 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Search\"`*"]
821 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))]
822 pub fn CreateWithModeAndSizeAndOptionsAndFlags<P0>(queryresult: P0, mode: super::FileProperties::ThumbnailMode, requestedthumbnailsize: u32, thumbnailoptions: super::FileProperties::ThumbnailOptions, delayload: bool) -> ::windows::core::Result<FileInformationFactory>
823 where
824 P0: ::windows::core::TryIntoParam<super::Search::IStorageQueryResultBase>,
825 {
826 Self::IFileInformationFactoryFactory(|this| unsafe {
827 let mut result__ = ::windows::core::zeroed::<FileInformationFactory>();
828 (::windows::core::Interface::vtable(this).CreateWithModeAndSizeAndOptionsAndFlags)(::windows::core::Interface::as_raw(this), queryresult.try_into_param()?.abi(), mode, requestedthumbnailsize, thumbnailoptions, delayload, &mut result__).from_abi(result__)
829 })
830 }
831 #[doc(hidden)]
832 pub fn IFileInformationFactoryFactory<R, F: FnOnce(&IFileInformationFactoryFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
833 static SHARED: ::windows::imp::FactoryCache<FileInformationFactory, IFileInformationFactoryFactory> = ::windows::imp::FactoryCache::new();
834 SHARED.call(callback)
835 }
836 }
837 impl ::core::cmp::PartialEq for FileInformationFactory {
838 fn eq(&self, other: &Self) -> bool {
839 self.0 == other.0
840 }
841 }
842 impl ::core::cmp::Eq for FileInformationFactory {}
843 impl ::core::fmt::Debug for FileInformationFactory {
844 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
845 f.debug_tuple("FileInformationFactory").field(&self.0).finish()
846 }
847 }
848 impl ::windows::core::RuntimeType for FileInformationFactory {
849 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Storage.BulkAccess.FileInformationFactory;{401d88be-960f-4d6d-a7d0-1a3861e76c83})");
850 }
851 impl ::core::clone::Clone for FileInformationFactory {
852 fn clone(&self) -> Self {
853 Self(self.0.clone())
854 }
855 }
856 unsafe impl ::windows::core::Interface for FileInformationFactory {
857 type Vtable = IFileInformationFactory_Vtbl;
858 }
859 unsafe impl ::windows::core::ComInterface for FileInformationFactory {
860 const IID: ::windows::core::GUID = <IFileInformationFactory as ::windows::core::ComInterface>::IID;
861 }
862 impl ::windows::core::RuntimeName for FileInformationFactory {
863 const NAME: &'static str = "Windows.Storage.BulkAccess.FileInformationFactory";
864 }
865 ::windows::imp::interface_hierarchy!(FileInformationFactory, ::windows::core::IUnknown, ::windows::core::IInspectable);
866 unsafe impl ::core::marker::Send for FileInformationFactory {}
867 unsafe impl ::core::marker::Sync for FileInformationFactory {}
868 #[doc = "*Required features: `\"Storage_BulkAccess\"`*"]
869 #[repr(transparent)]
870 pub struct FolderInformation(::windows::core::IUnknown);
871 impl FolderInformation {
872 #[doc = "*Required features: `\"Foundation\"`*"]
873 #[cfg(feature = "Foundation")]
874 pub fn CreateFileAsyncOverloadDefaultOptions(&self, desiredname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>> {
875 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
876 unsafe {
877 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
878 (::windows::core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__)
879 }
880 }
881 #[doc = "*Required features: `\"Foundation\"`*"]
882 #[cfg(feature = "Foundation")]
883 pub fn CreateFileAsync(&self, desiredname: &::windows::core::HSTRING, options: super::CreationCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>> {
884 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
885 unsafe {
886 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
887 (::windows::core::Interface::vtable(this).CreateFileAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__)
888 }
889 }
890 #[doc = "*Required features: `\"Foundation\"`*"]
891 #[cfg(feature = "Foundation")]
892 pub fn CreateFolderAsyncOverloadDefaultOptions(&self, desiredname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFolder>> {
893 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
894 unsafe {
895 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFolder>>();
896 (::windows::core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__)
897 }
898 }
899 #[doc = "*Required features: `\"Foundation\"`*"]
900 #[cfg(feature = "Foundation")]
901 pub fn CreateFolderAsync(&self, desiredname: &::windows::core::HSTRING, options: super::CreationCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFolder>> {
902 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
903 unsafe {
904 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFolder>>();
905 (::windows::core::Interface::vtable(this).CreateFolderAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__)
906 }
907 }
908 #[doc = "*Required features: `\"Foundation\"`*"]
909 #[cfg(feature = "Foundation")]
910 pub fn GetFileAsync(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFile>> {
911 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
912 unsafe {
913 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFile>>();
914 (::windows::core::Interface::vtable(this).GetFileAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
915 }
916 }
917 #[doc = "*Required features: `\"Foundation\"`*"]
918 #[cfg(feature = "Foundation")]
919 pub fn GetFolderAsync(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFolder>> {
920 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
921 unsafe {
922 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFolder>>();
923 (::windows::core::Interface::vtable(this).GetFolderAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
924 }
925 }
926 #[doc = "*Required features: `\"Foundation\"`*"]
927 #[cfg(feature = "Foundation")]
928 pub fn GetItemAsync(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::IStorageItem>> {
929 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
930 unsafe {
931 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::IStorageItem>>();
932 (::windows::core::Interface::vtable(this).GetItemAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
933 }
934 }
935 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
936 #[cfg(feature = "Foundation_Collections")]
937 pub fn GetFilesAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>> {
938 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
939 unsafe {
940 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>>();
941 (::windows::core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
942 }
943 }
944 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
945 #[cfg(feature = "Foundation_Collections")]
946 pub fn GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>> {
947 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
948 unsafe {
949 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>>();
950 (::windows::core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
951 }
952 }
953 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
954 #[cfg(feature = "Foundation_Collections")]
955 pub fn GetItemsAsyncOverloadDefaultStartAndCount(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::IStorageItem>>> {
956 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder>(self)?;
957 unsafe {
958 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::IStorageItem>>>();
959 (::windows::core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
960 }
961 }
962 #[doc = "*Required features: `\"Foundation\"`*"]
963 #[cfg(feature = "Foundation")]
964 pub fn TryGetItemAsync(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::IStorageItem>> {
965 let this = &::windows::core::ComInterface::cast::<super::IStorageFolder2>(self)?;
966 unsafe {
967 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::IStorageItem>>();
968 (::windows::core::Interface::vtable(this).TryGetItemAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
969 }
970 }
971 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Search\"`*"]
972 #[cfg(all(feature = "Foundation", feature = "Storage_Search"))]
973 pub fn GetIndexedStateAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::Search::IndexedState>> {
974 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
975 unsafe {
976 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::Search::IndexedState>>();
977 (::windows::core::Interface::vtable(this).GetIndexedStateAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
978 }
979 }
980 #[doc = "*Required features: `\"Storage_Search\"`*"]
981 #[cfg(feature = "Storage_Search")]
982 pub fn CreateFileQueryOverloadDefault(&self) -> ::windows::core::Result<super::Search::StorageFileQueryResult> {
983 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
984 unsafe {
985 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFileQueryResult>();
986 (::windows::core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
987 }
988 }
989 #[doc = "*Required features: `\"Storage_Search\"`*"]
990 #[cfg(feature = "Storage_Search")]
991 pub fn CreateFileQuery(&self, query: super::Search::CommonFileQuery) -> ::windows::core::Result<super::Search::StorageFileQueryResult> {
992 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
993 unsafe {
994 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFileQueryResult>();
995 (::windows::core::Interface::vtable(this).CreateFileQuery)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
996 }
997 }
998 #[doc = "*Required features: `\"Storage_Search\"`*"]
999 #[cfg(feature = "Storage_Search")]
1000 pub fn CreateFileQueryWithOptions(&self, queryoptions: &super::Search::QueryOptions) -> ::windows::core::Result<super::Search::StorageFileQueryResult> {
1001 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1002 unsafe {
1003 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFileQueryResult>();
1004 (::windows::core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(queryoptions), &mut result__).from_abi(result__)
1005 }
1006 }
1007 #[doc = "*Required features: `\"Storage_Search\"`*"]
1008 #[cfg(feature = "Storage_Search")]
1009 pub fn CreateFolderQueryOverloadDefault(&self) -> ::windows::core::Result<super::Search::StorageFolderQueryResult> {
1010 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1011 unsafe {
1012 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFolderQueryResult>();
1013 (::windows::core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1014 }
1015 }
1016 #[doc = "*Required features: `\"Storage_Search\"`*"]
1017 #[cfg(feature = "Storage_Search")]
1018 pub fn CreateFolderQuery(&self, query: super::Search::CommonFolderQuery) -> ::windows::core::Result<super::Search::StorageFolderQueryResult> {
1019 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1020 unsafe {
1021 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFolderQueryResult>();
1022 (::windows::core::Interface::vtable(this).CreateFolderQuery)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
1023 }
1024 }
1025 #[doc = "*Required features: `\"Storage_Search\"`*"]
1026 #[cfg(feature = "Storage_Search")]
1027 pub fn CreateFolderQueryWithOptions(&self, queryoptions: &super::Search::QueryOptions) -> ::windows::core::Result<super::Search::StorageFolderQueryResult> {
1028 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1029 unsafe {
1030 let mut result__ = ::windows::core::zeroed::<super::Search::StorageFolderQueryResult>();
1031 (::windows::core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(queryoptions), &mut result__).from_abi(result__)
1032 }
1033 }
1034 #[doc = "*Required features: `\"Storage_Search\"`*"]
1035 #[cfg(feature = "Storage_Search")]
1036 pub fn CreateItemQuery(&self) -> ::windows::core::Result<super::Search::StorageItemQueryResult> {
1037 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1038 unsafe {
1039 let mut result__ = ::windows::core::zeroed::<super::Search::StorageItemQueryResult>();
1040 (::windows::core::Interface::vtable(this).CreateItemQuery)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1041 }
1042 }
1043 #[doc = "*Required features: `\"Storage_Search\"`*"]
1044 #[cfg(feature = "Storage_Search")]
1045 pub fn CreateItemQueryWithOptions(&self, queryoptions: &super::Search::QueryOptions) -> ::windows::core::Result<super::Search::StorageItemQueryResult> {
1046 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1047 unsafe {
1048 let mut result__ = ::windows::core::zeroed::<super::Search::StorageItemQueryResult>();
1049 (::windows::core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(queryoptions), &mut result__).from_abi(result__)
1050 }
1051 }
1052 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage_Search\"`*"]
1053 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))]
1054 pub fn GetFilesAsync(&self, query: super::Search::CommonFileQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>> {
1055 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1056 unsafe {
1057 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>>();
1058 (::windows::core::Interface::vtable(this).GetFilesAsync)(::windows::core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
1059 }
1060 }
1061 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage_Search\"`*"]
1062 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))]
1063 pub fn GetFilesAsyncOverloadDefaultStartAndCount(&self, query: super::Search::CommonFileQuery) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>> {
1064 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1065 unsafe {
1066 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFile>>>();
1067 (::windows::core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
1068 }
1069 }
1070 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage_Search\"`*"]
1071 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))]
1072 pub fn GetFoldersAsync(&self, query: super::Search::CommonFolderQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>> {
1073 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1074 unsafe {
1075 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>>();
1076 (::windows::core::Interface::vtable(this).GetFoldersAsync)(::windows::core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
1077 }
1078 }
1079 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage_Search\"`*"]
1080 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))]
1081 pub fn GetFoldersAsyncOverloadDefaultStartAndCount(&self, query: super::Search::CommonFolderQuery) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>> {
1082 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1083 unsafe {
1084 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::StorageFolder>>>();
1085 (::windows::core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
1086 }
1087 }
1088 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage_Search\"`*"]
1089 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))]
1090 pub fn GetItemsAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::IStorageItem>>> {
1091 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1092 unsafe {
1093 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<super::IStorageItem>>>();
1094 (::windows::core::Interface::vtable(this).GetItemsAsync)(::windows::core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__)
1095 }
1096 }
1097 #[doc = "*Required features: `\"Storage_Search\"`*"]
1098 #[cfg(feature = "Storage_Search")]
1099 pub fn AreQueryOptionsSupported(&self, queryoptions: &super::Search::QueryOptions) -> ::windows::core::Result<bool> {
1100 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1101 unsafe {
1102 let mut result__ = ::windows::core::zeroed::<bool>();
1103 (::windows::core::Interface::vtable(this).AreQueryOptionsSupported)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(queryoptions), &mut result__).from_abi(result__)
1104 }
1105 }
1106 #[doc = "*Required features: `\"Storage_Search\"`*"]
1107 #[cfg(feature = "Storage_Search")]
1108 pub fn IsCommonFolderQuerySupported(&self, query: super::Search::CommonFolderQuery) -> ::windows::core::Result<bool> {
1109 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1110 unsafe {
1111 let mut result__ = ::windows::core::zeroed::<bool>();
1112 (::windows::core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
1113 }
1114 }
1115 #[doc = "*Required features: `\"Storage_Search\"`*"]
1116 #[cfg(feature = "Storage_Search")]
1117 pub fn IsCommonFileQuerySupported(&self, query: super::Search::CommonFileQuery) -> ::windows::core::Result<bool> {
1118 let this = &::windows::core::ComInterface::cast::<super::Search::IStorageFolderQueryOperations>(self)?;
1119 unsafe {
1120 let mut result__ = ::windows::core::zeroed::<bool>();
1121 (::windows::core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows::core::Interface::as_raw(this), query, &mut result__).from_abi(result__)
1122 }
1123 }
1124 #[doc = "*Required features: `\"Foundation\"`*"]
1125 #[cfg(feature = "Foundation")]
1126 pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
1127 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1128 unsafe {
1129 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
1130 (::windows::core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__)
1131 }
1132 }
1133 #[doc = "*Required features: `\"Foundation\"`*"]
1134 #[cfg(feature = "Foundation")]
1135 pub fn RenameAsync(&self, desiredname: &::windows::core::HSTRING, option: super::NameCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
1136 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1137 unsafe {
1138 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
1139 (::windows::core::Interface::vtable(this).RenameAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__)
1140 }
1141 }
1142 #[doc = "*Required features: `\"Foundation\"`*"]
1143 #[cfg(feature = "Foundation")]
1144 pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
1145 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1146 unsafe {
1147 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
1148 (::windows::core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1149 }
1150 }
1151 #[doc = "*Required features: `\"Foundation\"`*"]
1152 #[cfg(feature = "Foundation")]
1153 pub fn DeleteAsync(&self, option: super::StorageDeleteOption) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
1154 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1155 unsafe {
1156 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
1157 (::windows::core::Interface::vtable(this).DeleteAsync)(::windows::core::Interface::as_raw(this), option, &mut result__).from_abi(result__)
1158 }
1159 }
1160 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`*"]
1161 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
1162 pub fn GetBasicPropertiesAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::BasicProperties>> {
1163 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1164 unsafe {
1165 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::BasicProperties>>();
1166 (::windows::core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1167 }
1168 }
1169 pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1170 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1171 unsafe {
1172 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1173 (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1174 }
1175 }
1176 pub fn Path(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1177 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1178 unsafe {
1179 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1180 (::windows::core::Interface::vtable(this).Path)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1181 }
1182 }
1183 pub fn Attributes(&self) -> ::windows::core::Result<super::FileAttributes> {
1184 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1185 unsafe {
1186 let mut result__ = ::windows::core::zeroed::<super::FileAttributes>();
1187 (::windows::core::Interface::vtable(this).Attributes)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1188 }
1189 }
1190 #[doc = "*Required features: `\"Foundation\"`*"]
1191 #[cfg(feature = "Foundation")]
1192 pub fn DateCreated(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
1193 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1194 unsafe {
1195 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
1196 (::windows::core::Interface::vtable(this).DateCreated)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1197 }
1198 }
1199 pub fn IsOfType(&self, r#type: super::StorageItemTypes) -> ::windows::core::Result<bool> {
1200 let this = &::windows::core::ComInterface::cast::<super::IStorageItem>(self)?;
1201 unsafe {
1202 let mut result__ = ::windows::core::zeroed::<bool>();
1203 (::windows::core::Interface::vtable(this).IsOfType)(::windows::core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__)
1204 }
1205 }
1206 #[doc = "*Required features: `\"Foundation\"`*"]
1207 #[cfg(feature = "Foundation")]
1208 pub fn GetParentAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::StorageFolder>> {
1209 let this = &::windows::core::ComInterface::cast::<super::IStorageItem2>(self)?;
1210 unsafe {
1211 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::StorageFolder>>();
1212 (::windows::core::Interface::vtable(this).GetParentAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1213 }
1214 }
1215 pub fn IsEqual<P0>(&self, item: P0) -> ::windows::core::Result<bool>
1216 where
1217 P0: ::windows::core::TryIntoParam<super::IStorageItem>,
1218 {
1219 let this = &::windows::core::ComInterface::cast::<super::IStorageItem2>(self)?;
1220 unsafe {
1221 let mut result__ = ::windows::core::zeroed::<bool>();
1222 (::windows::core::Interface::vtable(this).IsEqual)(::windows::core::Interface::as_raw(this), item.try_into_param()?.abi(), &mut result__).from_abi(result__)
1223 }
1224 }
1225 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1226 #[cfg(feature = "Storage_FileProperties")]
1227 pub fn MusicProperties(&self) -> ::windows::core::Result<super::FileProperties::MusicProperties> {
1228 let this = self;
1229 unsafe {
1230 let mut result__ = ::windows::core::zeroed::<super::FileProperties::MusicProperties>();
1231 (::windows::core::Interface::vtable(this).MusicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1232 }
1233 }
1234 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1235 #[cfg(feature = "Storage_FileProperties")]
1236 pub fn VideoProperties(&self) -> ::windows::core::Result<super::FileProperties::VideoProperties> {
1237 let this = self;
1238 unsafe {
1239 let mut result__ = ::windows::core::zeroed::<super::FileProperties::VideoProperties>();
1240 (::windows::core::Interface::vtable(this).VideoProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1241 }
1242 }
1243 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1244 #[cfg(feature = "Storage_FileProperties")]
1245 pub fn ImageProperties(&self) -> ::windows::core::Result<super::FileProperties::ImageProperties> {
1246 let this = self;
1247 unsafe {
1248 let mut result__ = ::windows::core::zeroed::<super::FileProperties::ImageProperties>();
1249 (::windows::core::Interface::vtable(this).ImageProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1250 }
1251 }
1252 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1253 #[cfg(feature = "Storage_FileProperties")]
1254 pub fn DocumentProperties(&self) -> ::windows::core::Result<super::FileProperties::DocumentProperties> {
1255 let this = self;
1256 unsafe {
1257 let mut result__ = ::windows::core::zeroed::<super::FileProperties::DocumentProperties>();
1258 (::windows::core::Interface::vtable(this).DocumentProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1259 }
1260 }
1261 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1262 #[cfg(feature = "Storage_FileProperties")]
1263 pub fn BasicProperties(&self) -> ::windows::core::Result<super::FileProperties::BasicProperties> {
1264 let this = self;
1265 unsafe {
1266 let mut result__ = ::windows::core::zeroed::<super::FileProperties::BasicProperties>();
1267 (::windows::core::Interface::vtable(this).BasicProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1268 }
1269 }
1270 #[doc = "*Required features: `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
1271 #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))]
1272 pub fn Thumbnail(&self) -> ::windows::core::Result<super::FileProperties::StorageItemThumbnail> {
1273 let this = self;
1274 unsafe {
1275 let mut result__ = ::windows::core::zeroed::<super::FileProperties::StorageItemThumbnail>();
1276 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1277 }
1278 }
1279 #[doc = "*Required features: `\"Foundation\"`*"]
1280 #[cfg(feature = "Foundation")]
1281 pub fn ThumbnailUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1282 let this = self;
1283 unsafe {
1284 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1285 (::windows::core::Interface::vtable(this).ThumbnailUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
1286 }
1287 }
1288 #[doc = "*Required features: `\"Foundation\"`*"]
1289 #[cfg(feature = "Foundation")]
1290 pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1291 let this = self;
1292 unsafe { (::windows::core::Interface::vtable(this).RemoveThumbnailUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
1293 }
1294 #[doc = "*Required features: `\"Foundation\"`*"]
1295 #[cfg(feature = "Foundation")]
1296 pub fn PropertiesUpdated(&self, changedhandler: &super::super::Foundation::TypedEventHandler<IStorageItemInformation, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1297 let this = self;
1298 unsafe {
1299 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1300 (::windows::core::Interface::vtable(this).PropertiesUpdated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changedhandler), &mut result__).from_abi(result__)
1301 }
1302 }
1303 #[doc = "*Required features: `\"Foundation\"`*"]
1304 #[cfg(feature = "Foundation")]
1305 pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1306 let this = self;
1307 unsafe { (::windows::core::Interface::vtable(this).RemovePropertiesUpdated)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
1308 }
1309 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
1310 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
1311 pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: super::FileProperties::ThumbnailMode) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
1312 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1313 unsafe {
1314 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
1315 (::windows::core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows::core::Interface::as_raw(this), mode, &mut result__).from_abi(result__)
1316 }
1317 }
1318 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
1319 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
1320 pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: super::FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
1321 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1322 unsafe {
1323 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
1324 (::windows::core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows::core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__)
1325 }
1326 }
1327 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_FileProperties\"`, `\"Storage_Streams\"`*"]
1328 #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
1329 pub fn GetThumbnailAsync(&self, mode: super::FileProperties::ThumbnailMode, requestedsize: u32, options: super::FileProperties::ThumbnailOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>> {
1330 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1331 unsafe {
1332 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::FileProperties::StorageItemThumbnail>>();
1333 (::windows::core::Interface::vtable(this).GetThumbnailAsync)(::windows::core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__)
1334 }
1335 }
1336 pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1337 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1338 unsafe {
1339 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1340 (::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1341 }
1342 }
1343 pub fn DisplayType(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1344 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1345 unsafe {
1346 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1347 (::windows::core::Interface::vtable(this).DisplayType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1348 }
1349 }
1350 pub fn FolderRelativeId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1351 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1352 unsafe {
1353 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1354 (::windows::core::Interface::vtable(this).FolderRelativeId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1355 }
1356 }
1357 #[doc = "*Required features: `\"Storage_FileProperties\"`*"]
1358 #[cfg(feature = "Storage_FileProperties")]
1359 pub fn Properties(&self) -> ::windows::core::Result<super::FileProperties::StorageItemContentProperties> {
1360 let this = &::windows::core::ComInterface::cast::<super::IStorageItemProperties>(self)?;
1361 unsafe {
1362 let mut result__ = ::windows::core::zeroed::<super::FileProperties::StorageItemContentProperties>();
1363 (::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1364 }
1365 }
1366 pub fn Provider(&self) -> ::windows::core::Result<super::StorageProvider> {
1367 let this = &::windows::core::ComInterface::cast::<super::IStorageItemPropertiesWithProvider>(self)?;
1368 unsafe {
1369 let mut result__ = ::windows::core::zeroed::<super::StorageProvider>();
1370 (::windows::core::Interface::vtable(this).Provider)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1371 }
1372 }
1373 }
1374 impl ::core::cmp::PartialEq for FolderInformation {
1375 fn eq(&self, other: &Self) -> bool {
1376 self.0 == other.0
1377 }
1378 }
1379 impl ::core::cmp::Eq for FolderInformation {}
1380 impl ::core::fmt::Debug for FolderInformation {
1381 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1382 f.debug_tuple("FolderInformation").field(&self.0).finish()
1383 }
1384 }
1385 impl ::windows::core::RuntimeType for FolderInformation {
1386 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Storage.BulkAccess.FolderInformation;{87a5cb8b-8972-4f40-8de0-d86fb179d8fa})");
1387 }
1388 impl ::core::clone::Clone for FolderInformation {
1389 fn clone(&self) -> Self {
1390 Self(self.0.clone())
1391 }
1392 }
1393 unsafe impl ::windows::core::Interface for FolderInformation {
1394 type Vtable = IStorageItemInformation_Vtbl;
1395 }
1396 unsafe impl ::windows::core::ComInterface for FolderInformation {
1397 const IID: ::windows::core::GUID = <IStorageItemInformation as ::windows::core::ComInterface>::IID;
1398 }
1399 impl ::windows::core::RuntimeName for FolderInformation {
1400 const NAME: &'static str = "Windows.Storage.BulkAccess.FolderInformation";
1401 }
1402 ::windows::imp::interface_hierarchy!(FolderInformation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1403 impl ::windows::core::CanTryInto<super::IStorageFolder> for FolderInformation {}
1404 impl ::windows::core::CanTryInto<super::IStorageFolder2> for FolderInformation {}
1405 #[cfg(feature = "Storage_Search")]
1406 impl ::windows::core::CanTryInto<super::Search::IStorageFolderQueryOperations> for FolderInformation {}
1407 impl ::windows::core::CanTryInto<super::IStorageItem> for FolderInformation {}
1408 impl ::windows::core::CanTryInto<super::IStorageItem2> for FolderInformation {}
1409 impl ::windows::core::CanTryInto<IStorageItemInformation> for FolderInformation {}
1410 impl ::windows::core::CanTryInto<super::IStorageItemProperties> for FolderInformation {}
1411 impl ::windows::core::CanTryInto<super::IStorageItemPropertiesWithProvider> for FolderInformation {}
1412 #[cfg(feature = "implement")]
1413 ::core::include!("impl.rs");