1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)] 2 #[repr(transparent)] 3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 4 pub struct BasicProperties(::windows::runtime::IInspectable); 5 impl BasicProperties { Size(&self) -> ::windows::runtime::Result<u64>6 pub fn Size(&self) -> ::windows::runtime::Result<u64> { 7 let this = self; 8 unsafe { 9 let mut result__: u64 = ::std::mem::zeroed(); 10 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__) 11 } 12 } 13 #[cfg(feature = "Foundation")] DateModified(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime>14 pub fn DateModified(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime> { 15 let this = self; 16 unsafe { 17 let mut result__: super::super::Foundation::DateTime = ::std::mem::zeroed(); 18 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::DateTime>(result__) 19 } 20 } 21 #[cfg(feature = "Foundation")] ItemDate(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime>22 pub fn ItemDate(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime> { 23 let this = self; 24 unsafe { 25 let mut result__: super::super::Foundation::DateTime = ::std::mem::zeroed(); 26 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::DateTime>(result__) 27 } 28 } 29 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>30 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 31 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 32 unsafe { 33 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 34 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 35 } 36 } 37 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>38 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 39 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 40 unsafe { 41 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 42 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 43 } 44 } 45 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>46 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 47 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 48 unsafe { 49 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 50 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 51 } 52 } 53 } 54 unsafe impl ::windows::runtime::RuntimeType for BasicProperties { 55 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.BasicProperties;{d05d55db-785e-4a66-be02-9beec58aea81})"); 56 } 57 unsafe impl ::windows::runtime::Interface for BasicProperties { 58 type Vtable = IBasicProperties_abi; 59 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3495777755, 30814, 19046, [190, 2, 155, 238, 197, 138, 234, 129]); 60 } 61 impl ::windows::runtime::RuntimeName for BasicProperties { 62 const NAME: &'static str = "Windows.Storage.FileProperties.BasicProperties"; 63 } 64 impl ::std::convert::From<BasicProperties> for ::windows::runtime::IUnknown { from(value: BasicProperties) -> Self65 fn from(value: BasicProperties) -> Self { 66 unsafe { ::std::mem::transmute(value) } 67 } 68 } 69 impl ::std::convert::From<&BasicProperties> for ::windows::runtime::IUnknown { from(value: &BasicProperties) -> Self70 fn from(value: &BasicProperties) -> Self { 71 ::std::convert::From::from(::std::clone::Clone::clone(value)) 72 } 73 } 74 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>75 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 76 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 77 } 78 } 79 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>80 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 81 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 82 } 83 } 84 impl ::std::convert::From<BasicProperties> for ::windows::runtime::IInspectable { from(value: BasicProperties) -> Self85 fn from(value: BasicProperties) -> Self { 86 value.0 87 } 88 } 89 impl ::std::convert::From<&BasicProperties> for ::windows::runtime::IInspectable { from(value: &BasicProperties) -> Self90 fn from(value: &BasicProperties) -> Self { 91 value.0.clone() 92 } 93 } 94 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>95 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 96 ::windows::runtime::Param::Owned(self.0) 97 } 98 } 99 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>100 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 101 ::windows::runtime::Param::Borrowed(&self.0) 102 } 103 } 104 impl ::std::convert::TryFrom<BasicProperties> for IStorageItemExtraProperties { 105 type Error = ::windows::runtime::Error; try_from(value: BasicProperties) -> ::windows::runtime::Result<Self>106 fn try_from(value: BasicProperties) -> ::windows::runtime::Result<Self> { 107 ::std::convert::TryFrom::try_from(&value) 108 } 109 } 110 impl ::std::convert::TryFrom<&BasicProperties> for IStorageItemExtraProperties { 111 type Error = ::windows::runtime::Error; try_from(value: &BasicProperties) -> ::windows::runtime::Result<Self>112 fn try_from(value: &BasicProperties) -> ::windows::runtime::Result<Self> { 113 ::windows::runtime::Interface::cast(value) 114 } 115 } 116 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>117 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 118 ::windows::runtime::IntoParam::into_param(&self) 119 } 120 } 121 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &BasicProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>122 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 123 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 124 } 125 } 126 #[repr(transparent)] 127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 128 pub struct DocumentProperties(::windows::runtime::IInspectable); 129 impl DocumentProperties { 130 #[cfg(feature = "Foundation_Collections")] Author(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>131 pub fn Author(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 132 let this = self; 133 unsafe { 134 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 135 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 136 } 137 } Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>138 pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 139 let this = self; 140 unsafe { 141 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 142 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 143 } 144 } SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>145 pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 146 let this = self; 147 unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 148 } 149 #[cfg(feature = "Foundation_Collections")] Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>150 pub fn Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 151 let this = self; 152 unsafe { 153 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 154 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 155 } 156 } Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>157 pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 158 let this = self; 159 unsafe { 160 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 161 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 162 } 163 } SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>164 pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 165 let this = self; 166 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 167 } 168 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>169 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 170 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 171 unsafe { 172 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 173 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 174 } 175 } 176 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>177 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 178 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 179 unsafe { 180 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 181 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 182 } 183 } 184 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>185 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 186 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 187 unsafe { 188 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 189 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 190 } 191 } 192 } 193 unsafe impl ::windows::runtime::RuntimeType for DocumentProperties { 194 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.DocumentProperties;{7eab19bc-1821-4923-b4a9-0aea404d0070})"); 195 } 196 unsafe impl ::windows::runtime::Interface for DocumentProperties { 197 type Vtable = IDocumentProperties_abi; 198 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2125142460, 6177, 18723, [180, 169, 10, 234, 64, 77, 0, 112]); 199 } 200 impl ::windows::runtime::RuntimeName for DocumentProperties { 201 const NAME: &'static str = "Windows.Storage.FileProperties.DocumentProperties"; 202 } 203 impl ::std::convert::From<DocumentProperties> for ::windows::runtime::IUnknown { from(value: DocumentProperties) -> Self204 fn from(value: DocumentProperties) -> Self { 205 unsafe { ::std::mem::transmute(value) } 206 } 207 } 208 impl ::std::convert::From<&DocumentProperties> for ::windows::runtime::IUnknown { from(value: &DocumentProperties) -> Self209 fn from(value: &DocumentProperties) -> Self { 210 ::std::convert::From::from(::std::clone::Clone::clone(value)) 211 } 212 } 213 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>214 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 215 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 216 } 217 } 218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>219 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 220 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 221 } 222 } 223 impl ::std::convert::From<DocumentProperties> for ::windows::runtime::IInspectable { from(value: DocumentProperties) -> Self224 fn from(value: DocumentProperties) -> Self { 225 value.0 226 } 227 } 228 impl ::std::convert::From<&DocumentProperties> for ::windows::runtime::IInspectable { from(value: &DocumentProperties) -> Self229 fn from(value: &DocumentProperties) -> Self { 230 value.0.clone() 231 } 232 } 233 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>234 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 235 ::windows::runtime::Param::Owned(self.0) 236 } 237 } 238 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>239 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 240 ::windows::runtime::Param::Borrowed(&self.0) 241 } 242 } 243 impl ::std::convert::TryFrom<DocumentProperties> for IStorageItemExtraProperties { 244 type Error = ::windows::runtime::Error; try_from(value: DocumentProperties) -> ::windows::runtime::Result<Self>245 fn try_from(value: DocumentProperties) -> ::windows::runtime::Result<Self> { 246 ::std::convert::TryFrom::try_from(&value) 247 } 248 } 249 impl ::std::convert::TryFrom<&DocumentProperties> for IStorageItemExtraProperties { 250 type Error = ::windows::runtime::Error; try_from(value: &DocumentProperties) -> ::windows::runtime::Result<Self>251 fn try_from(value: &DocumentProperties) -> ::windows::runtime::Result<Self> { 252 ::windows::runtime::Interface::cast(value) 253 } 254 } 255 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>256 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 257 ::windows::runtime::IntoParam::into_param(&self) 258 } 259 } 260 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &DocumentProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>261 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 262 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 263 } 264 } 265 pub struct GeotagHelper {} 266 impl GeotagHelper { 267 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] GetGeotagAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Devices::Geolocation::Geopoint>>268 pub fn GetGeotagAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Devices::Geolocation::Geopoint>> { 269 Self::IGeotagHelperStatics(|this| unsafe { 270 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 271 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Devices::Geolocation::Geopoint>>(result__) 272 }) 273 } 274 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] SetGeotagFromGeolocatorAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::super::Devices::Geolocation::Geolocator>>(file: Param0, geolocator: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>275 pub fn SetGeotagFromGeolocatorAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::super::Devices::Geolocation::Geolocator>>(file: Param0, geolocator: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 276 Self::IGeotagHelperStatics(|this| unsafe { 277 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 278 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), file.into_param().abi(), geolocator.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 279 }) 280 } 281 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] SetGeotagAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::super::Devices::Geolocation::Geopoint>>(file: Param0, geopoint: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>282 pub fn SetGeotagAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::super::Devices::Geolocation::Geopoint>>(file: Param0, geopoint: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 283 Self::IGeotagHelperStatics(|this| unsafe { 284 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 285 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), file.into_param().abi(), geopoint.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 286 }) 287 } IGeotagHelperStatics<R, F: FnOnce(&IGeotagHelperStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>288 pub fn IGeotagHelperStatics<R, F: FnOnce(&IGeotagHelperStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 289 static mut SHARED: ::windows::runtime::FactoryCache<GeotagHelper, IGeotagHelperStatics> = ::windows::runtime::FactoryCache::new(); 290 unsafe { SHARED.call(callback) } 291 } 292 } 293 impl ::windows::runtime::RuntimeName for GeotagHelper { 294 const NAME: &'static str = "Windows.Storage.FileProperties.GeotagHelper"; 295 } 296 #[repr(transparent)] 297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 298 #[doc(hidden)] 299 pub struct IBasicProperties(::windows::runtime::IInspectable); 300 unsafe impl ::windows::runtime::Interface for IBasicProperties { 301 type Vtable = IBasicProperties_abi; 302 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3495777755, 30814, 19046, [190, 2, 155, 238, 197, 138, 234, 129]); 303 } 304 #[repr(C)] 305 #[doc(hidden)] 306 pub struct IBasicProperties_abi( 307 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 308 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 309 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 310 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 311 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 312 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 313 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT, 314 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT, 315 #[cfg(not(feature = "Foundation"))] usize, 316 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT, 317 #[cfg(not(feature = "Foundation"))] usize, 318 ); 319 #[repr(transparent)] 320 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 321 #[doc(hidden)] 322 pub struct IDocumentProperties(::windows::runtime::IInspectable); 323 unsafe impl ::windows::runtime::Interface for IDocumentProperties { 324 type Vtable = IDocumentProperties_abi; 325 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2125142460, 6177, 18723, [180, 169, 10, 234, 64, 77, 0, 112]); 326 } 327 #[repr(C)] 328 #[doc(hidden)] 329 pub struct IDocumentProperties_abi( 330 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 331 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 332 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 333 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 334 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 335 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 336 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 337 #[cfg(not(feature = "Foundation_Collections"))] usize, 338 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 339 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 340 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 341 #[cfg(not(feature = "Foundation_Collections"))] usize, 342 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 343 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 344 ); 345 #[repr(transparent)] 346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 347 #[doc(hidden)] 348 pub struct IGeotagHelperStatics(::windows::runtime::IInspectable); 349 unsafe impl ::windows::runtime::Interface for IGeotagHelperStatics { 350 type Vtable = IGeotagHelperStatics_abi; 351 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1095316036, 9508, 18005, [134, 166, 237, 22, 245, 252, 113, 107]); 352 } 353 #[repr(C)] 354 #[doc(hidden)] 355 pub struct IGeotagHelperStatics_abi( 356 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 357 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 358 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 359 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 360 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 361 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 362 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 363 #[cfg(not(all(feature = "Devices_Geolocation", feature = "Foundation")))] usize, 364 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, geolocator: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 365 #[cfg(not(all(feature = "Devices_Geolocation", feature = "Foundation")))] usize, 366 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, geopoint: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 367 #[cfg(not(all(feature = "Devices_Geolocation", feature = "Foundation")))] usize, 368 ); 369 #[repr(transparent)] 370 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 371 #[doc(hidden)] 372 pub struct IImageProperties(::windows::runtime::IInspectable); 373 unsafe impl ::windows::runtime::Interface for IImageProperties { 374 type Vtable = IImageProperties_abi; 375 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1379701796, 64767, 17013, [175, 238, 236, 219, 154, 180, 121, 115]); 376 } 377 #[repr(C)] 378 #[doc(hidden)] 379 pub struct IImageProperties_abi( 380 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 381 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 382 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 383 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 384 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 385 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 386 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 387 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 388 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 389 #[cfg(not(feature = "Foundation_Collections"))] usize, 390 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT, 391 #[cfg(not(feature = "Foundation"))] usize, 392 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT, 393 #[cfg(not(feature = "Foundation"))] usize, 394 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 395 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 396 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 397 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 398 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 399 #[cfg(not(feature = "Foundation"))] usize, 400 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 401 #[cfg(not(feature = "Foundation"))] usize, 402 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 403 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 404 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 405 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 406 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PhotoOrientation) -> ::windows::runtime::HRESULT, 407 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 408 #[cfg(not(feature = "Foundation_Collections"))] usize, 409 ); 410 #[repr(transparent)] 411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 412 #[doc(hidden)] 413 pub struct IMusicProperties(::windows::runtime::IInspectable); 414 unsafe impl ::windows::runtime::Interface for IMusicProperties { 415 type Vtable = IMusicProperties_abi; 416 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3163204450, 26348, 16794, [188, 93, 202, 101, 164, 203, 70, 218]); 417 } 418 #[repr(C)] 419 #[doc(hidden)] 420 pub struct IMusicProperties_abi( 421 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 422 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 423 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 424 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 425 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 426 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 427 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 428 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 429 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 430 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 431 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 432 #[cfg(not(feature = "Foundation_Collections"))] usize, 433 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 434 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 435 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 436 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 437 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 438 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 439 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT, 440 #[cfg(not(feature = "Foundation"))] usize, 441 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 442 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 443 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 444 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 445 #[cfg(not(feature = "Foundation_Collections"))] usize, 446 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 447 #[cfg(not(feature = "Foundation_Collections"))] usize, 448 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 449 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 450 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 451 #[cfg(not(feature = "Foundation_Collections"))] usize, 452 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 453 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 454 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 455 #[cfg(not(feature = "Foundation_Collections"))] usize, 456 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 457 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 458 ); 459 #[repr(transparent)] 460 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 461 #[doc(hidden)] 462 pub struct IStorageItemContentProperties(::windows::runtime::IInspectable); 463 unsafe impl ::windows::runtime::Interface for IStorageItemContentProperties { 464 type Vtable = IStorageItemContentProperties_abi; 465 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(86592429, 48184, 18623, [133, 215, 119, 14, 14, 42, 224, 186]); 466 } 467 #[repr(C)] 468 #[doc(hidden)] 469 pub struct IStorageItemContentProperties_abi( 470 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 471 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 472 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 473 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 474 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 475 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 476 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 477 #[cfg(not(feature = "Foundation"))] usize, 478 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 479 #[cfg(not(feature = "Foundation"))] usize, 480 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 481 #[cfg(not(feature = "Foundation"))] usize, 482 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 483 #[cfg(not(feature = "Foundation"))] usize, 484 ); 485 #[repr(transparent)] 486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 487 pub struct IStorageItemExtraProperties(::windows::runtime::IInspectable); 488 unsafe impl ::windows::runtime::Interface for IStorageItemExtraProperties { 489 type Vtable = IStorageItemExtraProperties_abi; 490 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3309527474, 21709, 17195, [189, 188, 75, 25, 196, 180, 112, 215]); 491 } 492 impl IStorageItemExtraProperties { 493 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>494 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 495 let this = self; 496 unsafe { 497 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 498 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 499 } 500 } 501 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>502 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 503 let this = self; 504 unsafe { 505 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 506 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 507 } 508 } 509 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>510 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 511 let this = self; 512 unsafe { 513 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 514 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 515 } 516 } 517 } 518 unsafe impl ::windows::runtime::RuntimeType for IStorageItemExtraProperties { 519 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{c54361b2-54cd-432b-bdbc-4b19c4b470d7}"); 520 } 521 impl ::std::convert::From<IStorageItemExtraProperties> for ::windows::runtime::IUnknown { from(value: IStorageItemExtraProperties) -> Self522 fn from(value: IStorageItemExtraProperties) -> Self { 523 unsafe { ::std::mem::transmute(value) } 524 } 525 } 526 impl ::std::convert::From<&IStorageItemExtraProperties> for ::windows::runtime::IUnknown { from(value: &IStorageItemExtraProperties) -> Self527 fn from(value: &IStorageItemExtraProperties) -> Self { 528 ::std::convert::From::from(::std::clone::Clone::clone(value)) 529 } 530 } 531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItemExtraProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>532 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 533 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 534 } 535 } 536 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItemExtraProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>537 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 538 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 539 } 540 } 541 impl ::std::convert::From<IStorageItemExtraProperties> for ::windows::runtime::IInspectable { from(value: IStorageItemExtraProperties) -> Self542 fn from(value: IStorageItemExtraProperties) -> Self { 543 value.0 544 } 545 } 546 impl ::std::convert::From<&IStorageItemExtraProperties> for ::windows::runtime::IInspectable { from(value: &IStorageItemExtraProperties) -> Self547 fn from(value: &IStorageItemExtraProperties) -> Self { 548 value.0.clone() 549 } 550 } 551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItemExtraProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>552 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 553 ::windows::runtime::Param::Owned(self.0) 554 } 555 } 556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItemExtraProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>557 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 558 ::windows::runtime::Param::Borrowed(&self.0) 559 } 560 } 561 #[repr(C)] 562 #[doc(hidden)] 563 pub struct IStorageItemExtraProperties_abi( 564 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 565 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 566 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 567 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 568 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 569 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 570 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiestoretrieve: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 571 #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize, 572 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiestosave: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 573 #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize, 574 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 575 #[cfg(not(feature = "Foundation"))] usize, 576 ); 577 #[repr(transparent)] 578 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 579 #[doc(hidden)] 580 pub struct IThumbnailProperties(::windows::runtime::IInspectable); 581 unsafe impl ::windows::runtime::Interface for IThumbnailProperties { 582 type Vtable = IThumbnailProperties_abi; 583 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1765659695, 56295, 18869, [179, 179, 40, 147, 172, 93, 52, 35]); 584 } 585 #[repr(C)] 586 #[doc(hidden)] 587 pub struct IThumbnailProperties_abi( 588 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 589 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 590 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 591 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 592 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 593 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 594 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 595 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 596 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 597 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ThumbnailType) -> ::windows::runtime::HRESULT, 598 ); 599 #[repr(transparent)] 600 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 601 #[doc(hidden)] 602 pub struct IVideoProperties(::windows::runtime::IInspectable); 603 unsafe impl ::windows::runtime::Interface for IVideoProperties { 604 type Vtable = IVideoProperties_abi; 605 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1905976583, 26846, 19896, [151, 222, 73, 153, 140, 5, 159, 47]); 606 } 607 #[repr(C)] 608 #[doc(hidden)] 609 pub struct IVideoProperties_abi( 610 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 611 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 612 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 613 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 614 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 615 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 616 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 617 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 618 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 619 #[cfg(not(feature = "Foundation_Collections"))] usize, 620 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 621 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 622 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT, 623 #[cfg(not(feature = "Foundation"))] usize, 624 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 625 #[cfg(not(feature = "Foundation"))] usize, 626 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 627 #[cfg(not(feature = "Foundation"))] usize, 628 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 629 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 630 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 631 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 632 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 633 #[cfg(not(feature = "Foundation_Collections"))] usize, 634 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 635 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 636 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 637 #[cfg(not(feature = "Foundation_Collections"))] usize, 638 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 639 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 640 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 641 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 642 #[cfg(not(feature = "Foundation_Collections"))] usize, 643 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut VideoOrientation) -> ::windows::runtime::HRESULT, 644 ); 645 #[repr(transparent)] 646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 647 pub struct ImageProperties(::windows::runtime::IInspectable); 648 impl ImageProperties { Rating(&self) -> ::windows::runtime::Result<u32>649 pub fn Rating(&self) -> ::windows::runtime::Result<u32> { 650 let this = self; 651 unsafe { 652 let mut result__: u32 = ::std::mem::zeroed(); 653 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 654 } 655 } SetRating(&self, value: u32) -> ::windows::runtime::Result<()>656 pub fn SetRating(&self, value: u32) -> ::windows::runtime::Result<()> { 657 let this = self; 658 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() } 659 } 660 #[cfg(feature = "Foundation_Collections")] Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>661 pub fn Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 662 let this = self; 663 unsafe { 664 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 665 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 666 } 667 } 668 #[cfg(feature = "Foundation")] DateTaken(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime>669 pub fn DateTaken(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime> { 670 let this = self; 671 unsafe { 672 let mut result__: super::super::Foundation::DateTime = ::std::mem::zeroed(); 673 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::DateTime>(result__) 674 } 675 } 676 #[cfg(feature = "Foundation")] SetDateTaken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::DateTime>>(&self, value: Param0) -> ::windows::runtime::Result<()>677 pub fn SetDateTaken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::DateTime>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 678 let this = self; 679 unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 680 } Width(&self) -> ::windows::runtime::Result<u32>681 pub fn Width(&self) -> ::windows::runtime::Result<u32> { 682 let this = self; 683 unsafe { 684 let mut result__: u32 = ::std::mem::zeroed(); 685 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 686 } 687 } Height(&self) -> ::windows::runtime::Result<u32>688 pub fn Height(&self) -> ::windows::runtime::Result<u32> { 689 let this = self; 690 unsafe { 691 let mut result__: u32 = ::std::mem::zeroed(); 692 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 693 } 694 } Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>695 pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 696 let this = self; 697 unsafe { 698 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 699 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 700 } 701 } SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>702 pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 703 let this = self; 704 unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 705 } 706 #[cfg(feature = "Foundation")] Latitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>707 pub fn Latitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> { 708 let this = self; 709 unsafe { 710 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 711 (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__) 712 } 713 } 714 #[cfg(feature = "Foundation")] Longitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>715 pub fn Longitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> { 716 let this = self; 717 unsafe { 718 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 719 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__) 720 } 721 } CameraManufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>722 pub fn CameraManufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 723 let this = self; 724 unsafe { 725 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 726 (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 727 } 728 } SetCameraManufacturer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>729 pub fn SetCameraManufacturer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 730 let this = self; 731 unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 732 } CameraModel(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>733 pub fn CameraModel(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 734 let this = self; 735 unsafe { 736 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 737 (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 738 } 739 } SetCameraModel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>740 pub fn SetCameraModel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 741 let this = self; 742 unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 743 } Orientation(&self) -> ::windows::runtime::Result<PhotoOrientation>744 pub fn Orientation(&self) -> ::windows::runtime::Result<PhotoOrientation> { 745 let this = self; 746 unsafe { 747 let mut result__: PhotoOrientation = ::std::mem::zeroed(); 748 (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PhotoOrientation>(result__) 749 } 750 } 751 #[cfg(feature = "Foundation_Collections")] PeopleNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>752 pub fn PeopleNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> { 753 let this = self; 754 unsafe { 755 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 756 (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__) 757 } 758 } 759 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>760 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 761 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 762 unsafe { 763 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 764 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 765 } 766 } 767 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>768 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 769 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 770 unsafe { 771 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 772 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 773 } 774 } 775 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>776 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 777 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 778 unsafe { 779 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 780 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 781 } 782 } 783 } 784 unsafe impl ::windows::runtime::RuntimeType for ImageProperties { 785 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.ImageProperties;{523c9424-fcff-4275-afee-ecdb9ab47973})"); 786 } 787 unsafe impl ::windows::runtime::Interface for ImageProperties { 788 type Vtable = IImageProperties_abi; 789 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1379701796, 64767, 17013, [175, 238, 236, 219, 154, 180, 121, 115]); 790 } 791 impl ::windows::runtime::RuntimeName for ImageProperties { 792 const NAME: &'static str = "Windows.Storage.FileProperties.ImageProperties"; 793 } 794 impl ::std::convert::From<ImageProperties> for ::windows::runtime::IUnknown { from(value: ImageProperties) -> Self795 fn from(value: ImageProperties) -> Self { 796 unsafe { ::std::mem::transmute(value) } 797 } 798 } 799 impl ::std::convert::From<&ImageProperties> for ::windows::runtime::IUnknown { from(value: &ImageProperties) -> Self800 fn from(value: &ImageProperties) -> Self { 801 ::std::convert::From::from(::std::clone::Clone::clone(value)) 802 } 803 } 804 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>805 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 806 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 807 } 808 } 809 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>810 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 811 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 812 } 813 } 814 impl ::std::convert::From<ImageProperties> for ::windows::runtime::IInspectable { from(value: ImageProperties) -> Self815 fn from(value: ImageProperties) -> Self { 816 value.0 817 } 818 } 819 impl ::std::convert::From<&ImageProperties> for ::windows::runtime::IInspectable { from(value: &ImageProperties) -> Self820 fn from(value: &ImageProperties) -> Self { 821 value.0.clone() 822 } 823 } 824 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>825 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 826 ::windows::runtime::Param::Owned(self.0) 827 } 828 } 829 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>830 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 831 ::windows::runtime::Param::Borrowed(&self.0) 832 } 833 } 834 impl ::std::convert::TryFrom<ImageProperties> for IStorageItemExtraProperties { 835 type Error = ::windows::runtime::Error; try_from(value: ImageProperties) -> ::windows::runtime::Result<Self>836 fn try_from(value: ImageProperties) -> ::windows::runtime::Result<Self> { 837 ::std::convert::TryFrom::try_from(&value) 838 } 839 } 840 impl ::std::convert::TryFrom<&ImageProperties> for IStorageItemExtraProperties { 841 type Error = ::windows::runtime::Error; try_from(value: &ImageProperties) -> ::windows::runtime::Result<Self>842 fn try_from(value: &ImageProperties) -> ::windows::runtime::Result<Self> { 843 ::windows::runtime::Interface::cast(value) 844 } 845 } 846 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>847 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 848 ::windows::runtime::IntoParam::into_param(&self) 849 } 850 } 851 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &ImageProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>852 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 853 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 854 } 855 } 856 #[repr(transparent)] 857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 858 pub struct MusicProperties(::windows::runtime::IInspectable); 859 impl MusicProperties { Album(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>860 pub fn Album(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 861 let this = self; 862 unsafe { 863 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 864 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 865 } 866 } SetAlbum<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>867 pub fn SetAlbum<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 868 let this = self; 869 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 870 } Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>871 pub fn Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 872 let this = self; 873 unsafe { 874 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 875 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 876 } 877 } SetArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>878 pub fn SetArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 879 let this = self; 880 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 881 } 882 #[cfg(feature = "Foundation_Collections")] Genre(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>883 pub fn Genre(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 884 let this = self; 885 unsafe { 886 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 887 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 888 } 889 } TrackNumber(&self) -> ::windows::runtime::Result<u32>890 pub fn TrackNumber(&self) -> ::windows::runtime::Result<u32> { 891 let this = self; 892 unsafe { 893 let mut result__: u32 = ::std::mem::zeroed(); 894 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 895 } 896 } SetTrackNumber(&self, value: u32) -> ::windows::runtime::Result<()>897 pub fn SetTrackNumber(&self, value: u32) -> ::windows::runtime::Result<()> { 898 let this = self; 899 unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() } 900 } Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>901 pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 902 let this = self; 903 unsafe { 904 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 905 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 906 } 907 } SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>908 pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 909 let this = self; 910 unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 911 } Rating(&self) -> ::windows::runtime::Result<u32>912 pub fn Rating(&self) -> ::windows::runtime::Result<u32> { 913 let this = self; 914 unsafe { 915 let mut result__: u32 = ::std::mem::zeroed(); 916 (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 917 } 918 } SetRating(&self, value: u32) -> ::windows::runtime::Result<()>919 pub fn SetRating(&self, value: u32) -> ::windows::runtime::Result<()> { 920 let this = self; 921 unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() } 922 } 923 #[cfg(feature = "Foundation")] Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>924 pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> { 925 let this = self; 926 unsafe { 927 let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed(); 928 (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__) 929 } 930 } Bitrate(&self) -> ::windows::runtime::Result<u32>931 pub fn Bitrate(&self) -> ::windows::runtime::Result<u32> { 932 let this = self; 933 unsafe { 934 let mut result__: u32 = ::std::mem::zeroed(); 935 (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 936 } 937 } AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>938 pub fn AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 939 let this = self; 940 unsafe { 941 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 942 (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 943 } 944 } SetAlbumArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>945 pub fn SetAlbumArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 946 let this = self; 947 unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 948 } 949 #[cfg(feature = "Foundation_Collections")] Composers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>950 pub fn Composers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 951 let this = self; 952 unsafe { 953 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 954 (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 955 } 956 } 957 #[cfg(feature = "Foundation_Collections")] Conductors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>958 pub fn Conductors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 959 let this = self; 960 unsafe { 961 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 962 (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 963 } 964 } Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>965 pub fn Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 966 let this = self; 967 unsafe { 968 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 969 (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 970 } 971 } SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>972 pub fn SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 973 let this = self; 974 unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 975 } 976 #[cfg(feature = "Foundation_Collections")] Producers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>977 pub fn Producers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 978 let this = self; 979 unsafe { 980 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 981 (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 982 } 983 } Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>984 pub fn Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 985 let this = self; 986 unsafe { 987 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 988 (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 989 } 990 } SetPublisher<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>991 pub fn SetPublisher<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 992 let this = self; 993 unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 994 } 995 #[cfg(feature = "Foundation_Collections")] Writers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>996 pub fn Writers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 997 let this = self; 998 unsafe { 999 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1000 (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 1001 } 1002 } Year(&self) -> ::windows::runtime::Result<u32>1003 pub fn Year(&self) -> ::windows::runtime::Result<u32> { 1004 let this = self; 1005 unsafe { 1006 let mut result__: u32 = ::std::mem::zeroed(); 1007 (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1008 } 1009 } SetYear(&self, value: u32) -> ::windows::runtime::Result<()>1010 pub fn SetYear(&self, value: u32) -> ::windows::runtime::Result<()> { 1011 let this = self; 1012 unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() } 1013 } 1014 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>1015 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 1016 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1017 unsafe { 1018 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1019 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 1020 } 1021 } 1022 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1023 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1024 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1025 unsafe { 1026 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1027 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1028 } 1029 } 1030 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1031 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1032 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1033 unsafe { 1034 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1035 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1036 } 1037 } 1038 } 1039 unsafe impl ::windows::runtime::RuntimeType for MusicProperties { 1040 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.MusicProperties;{bc8aab62-66ec-419a-bc5d-ca65a4cb46da})"); 1041 } 1042 unsafe impl ::windows::runtime::Interface for MusicProperties { 1043 type Vtable = IMusicProperties_abi; 1044 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3163204450, 26348, 16794, [188, 93, 202, 101, 164, 203, 70, 218]); 1045 } 1046 impl ::windows::runtime::RuntimeName for MusicProperties { 1047 const NAME: &'static str = "Windows.Storage.FileProperties.MusicProperties"; 1048 } 1049 impl ::std::convert::From<MusicProperties> for ::windows::runtime::IUnknown { from(value: MusicProperties) -> Self1050 fn from(value: MusicProperties) -> Self { 1051 unsafe { ::std::mem::transmute(value) } 1052 } 1053 } 1054 impl ::std::convert::From<&MusicProperties> for ::windows::runtime::IUnknown { from(value: &MusicProperties) -> Self1055 fn from(value: &MusicProperties) -> Self { 1056 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1057 } 1058 } 1059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1060 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1061 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1062 } 1063 } 1064 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1065 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1066 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1067 } 1068 } 1069 impl ::std::convert::From<MusicProperties> for ::windows::runtime::IInspectable { from(value: MusicProperties) -> Self1070 fn from(value: MusicProperties) -> Self { 1071 value.0 1072 } 1073 } 1074 impl ::std::convert::From<&MusicProperties> for ::windows::runtime::IInspectable { from(value: &MusicProperties) -> Self1075 fn from(value: &MusicProperties) -> Self { 1076 value.0.clone() 1077 } 1078 } 1079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1080 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1081 ::windows::runtime::Param::Owned(self.0) 1082 } 1083 } 1084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1085 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1086 ::windows::runtime::Param::Borrowed(&self.0) 1087 } 1088 } 1089 impl ::std::convert::TryFrom<MusicProperties> for IStorageItemExtraProperties { 1090 type Error = ::windows::runtime::Error; try_from(value: MusicProperties) -> ::windows::runtime::Result<Self>1091 fn try_from(value: MusicProperties) -> ::windows::runtime::Result<Self> { 1092 ::std::convert::TryFrom::try_from(&value) 1093 } 1094 } 1095 impl ::std::convert::TryFrom<&MusicProperties> for IStorageItemExtraProperties { 1096 type Error = ::windows::runtime::Error; try_from(value: &MusicProperties) -> ::windows::runtime::Result<Self>1097 fn try_from(value: &MusicProperties) -> ::windows::runtime::Result<Self> { 1098 ::windows::runtime::Interface::cast(value) 1099 } 1100 } 1101 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>1102 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 1103 ::windows::runtime::IntoParam::into_param(&self) 1104 } 1105 } 1106 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &MusicProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>1107 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 1108 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1109 } 1110 } 1111 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1112 #[repr(transparent)] 1113 pub struct PhotoOrientation(pub i32); 1114 impl PhotoOrientation { 1115 pub const Unspecified: PhotoOrientation = PhotoOrientation(0i32); 1116 pub const Normal: PhotoOrientation = PhotoOrientation(1i32); 1117 pub const FlipHorizontal: PhotoOrientation = PhotoOrientation(2i32); 1118 pub const Rotate180: PhotoOrientation = PhotoOrientation(3i32); 1119 pub const FlipVertical: PhotoOrientation = PhotoOrientation(4i32); 1120 pub const Transpose: PhotoOrientation = PhotoOrientation(5i32); 1121 pub const Rotate270: PhotoOrientation = PhotoOrientation(6i32); 1122 pub const Transverse: PhotoOrientation = PhotoOrientation(7i32); 1123 pub const Rotate90: PhotoOrientation = PhotoOrientation(8i32); 1124 } 1125 impl ::std::convert::From<i32> for PhotoOrientation { from(value: i32) -> Self1126 fn from(value: i32) -> Self { 1127 Self(value) 1128 } 1129 } 1130 unsafe impl ::windows::runtime::Abi for PhotoOrientation { 1131 type Abi = Self; 1132 type DefaultType = Self; 1133 } 1134 unsafe impl ::windows::runtime::RuntimeType for PhotoOrientation { 1135 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.PhotoOrientation;i4)"); 1136 } 1137 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1138 #[repr(transparent)] 1139 pub struct PropertyPrefetchOptions(pub u32); 1140 impl PropertyPrefetchOptions { 1141 pub const None: PropertyPrefetchOptions = PropertyPrefetchOptions(0u32); 1142 pub const MusicProperties: PropertyPrefetchOptions = PropertyPrefetchOptions(1u32); 1143 pub const VideoProperties: PropertyPrefetchOptions = PropertyPrefetchOptions(2u32); 1144 pub const ImageProperties: PropertyPrefetchOptions = PropertyPrefetchOptions(4u32); 1145 pub const DocumentProperties: PropertyPrefetchOptions = PropertyPrefetchOptions(8u32); 1146 pub const BasicProperties: PropertyPrefetchOptions = PropertyPrefetchOptions(16u32); 1147 } 1148 impl ::std::convert::From<u32> for PropertyPrefetchOptions { from(value: u32) -> Self1149 fn from(value: u32) -> Self { 1150 Self(value) 1151 } 1152 } 1153 unsafe impl ::windows::runtime::Abi for PropertyPrefetchOptions { 1154 type Abi = Self; 1155 type DefaultType = Self; 1156 } 1157 unsafe impl ::windows::runtime::RuntimeType for PropertyPrefetchOptions { 1158 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.PropertyPrefetchOptions;u4)"); 1159 } 1160 impl ::std::ops::BitOr for PropertyPrefetchOptions { 1161 type Output = Self; bitor(self, rhs: Self) -> Self1162 fn bitor(self, rhs: Self) -> Self { 1163 Self(self.0 | rhs.0) 1164 } 1165 } 1166 impl ::std::ops::BitAnd for PropertyPrefetchOptions { 1167 type Output = Self; bitand(self, rhs: Self) -> Self1168 fn bitand(self, rhs: Self) -> Self { 1169 Self(self.0 & rhs.0) 1170 } 1171 } 1172 impl ::std::ops::BitOrAssign for PropertyPrefetchOptions { bitor_assign(&mut self, rhs: Self)1173 fn bitor_assign(&mut self, rhs: Self) { 1174 self.0.bitor_assign(rhs.0) 1175 } 1176 } 1177 impl ::std::ops::BitAndAssign for PropertyPrefetchOptions { bitand_assign(&mut self, rhs: Self)1178 fn bitand_assign(&mut self, rhs: Self) { 1179 self.0.bitand_assign(rhs.0) 1180 } 1181 } 1182 impl ::std::ops::Not for PropertyPrefetchOptions { 1183 type Output = Self; not(self) -> Self1184 fn not(self) -> Self { 1185 Self(self.0.not()) 1186 } 1187 } 1188 #[repr(transparent)] 1189 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1190 pub struct StorageItemContentProperties(::windows::runtime::IInspectable); 1191 impl StorageItemContentProperties { 1192 #[cfg(feature = "Foundation")] GetMusicPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MusicProperties>>1193 pub fn GetMusicPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MusicProperties>> { 1194 let this = self; 1195 unsafe { 1196 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1197 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MusicProperties>>(result__) 1198 } 1199 } 1200 #[cfg(feature = "Foundation")] GetVideoPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<VideoProperties>>1201 pub fn GetVideoPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<VideoProperties>> { 1202 let this = self; 1203 unsafe { 1204 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1205 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<VideoProperties>>(result__) 1206 } 1207 } 1208 #[cfg(feature = "Foundation")] GetImagePropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ImageProperties>>1209 pub fn GetImagePropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ImageProperties>> { 1210 let this = self; 1211 unsafe { 1212 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1213 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ImageProperties>>(result__) 1214 } 1215 } 1216 #[cfg(feature = "Foundation")] GetDocumentPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<DocumentProperties>>1217 pub fn GetDocumentPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<DocumentProperties>> { 1218 let this = self; 1219 unsafe { 1220 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1221 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<DocumentProperties>>(result__) 1222 } 1223 } 1224 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>1225 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 1226 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1227 unsafe { 1228 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1229 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 1230 } 1231 } 1232 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1233 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1234 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1235 unsafe { 1236 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1237 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1238 } 1239 } 1240 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1241 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1242 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1243 unsafe { 1244 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1245 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1246 } 1247 } 1248 } 1249 unsafe impl ::windows::runtime::RuntimeType for StorageItemContentProperties { 1250 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.StorageItemContentProperties;{05294bad-bc38-48bf-85d7-770e0e2ae0ba})"); 1251 } 1252 unsafe impl ::windows::runtime::Interface for StorageItemContentProperties { 1253 type Vtable = IStorageItemContentProperties_abi; 1254 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(86592429, 48184, 18623, [133, 215, 119, 14, 14, 42, 224, 186]); 1255 } 1256 impl ::windows::runtime::RuntimeName for StorageItemContentProperties { 1257 const NAME: &'static str = "Windows.Storage.FileProperties.StorageItemContentProperties"; 1258 } 1259 impl ::std::convert::From<StorageItemContentProperties> for ::windows::runtime::IUnknown { from(value: StorageItemContentProperties) -> Self1260 fn from(value: StorageItemContentProperties) -> Self { 1261 unsafe { ::std::mem::transmute(value) } 1262 } 1263 } 1264 impl ::std::convert::From<&StorageItemContentProperties> for ::windows::runtime::IUnknown { from(value: &StorageItemContentProperties) -> Self1265 fn from(value: &StorageItemContentProperties) -> Self { 1266 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1267 } 1268 } 1269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1270 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1271 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1272 } 1273 } 1274 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1275 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1276 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1277 } 1278 } 1279 impl ::std::convert::From<StorageItemContentProperties> for ::windows::runtime::IInspectable { from(value: StorageItemContentProperties) -> Self1280 fn from(value: StorageItemContentProperties) -> Self { 1281 value.0 1282 } 1283 } 1284 impl ::std::convert::From<&StorageItemContentProperties> for ::windows::runtime::IInspectable { from(value: &StorageItemContentProperties) -> Self1285 fn from(value: &StorageItemContentProperties) -> Self { 1286 value.0.clone() 1287 } 1288 } 1289 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1290 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1291 ::windows::runtime::Param::Owned(self.0) 1292 } 1293 } 1294 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1295 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1296 ::windows::runtime::Param::Borrowed(&self.0) 1297 } 1298 } 1299 impl ::std::convert::TryFrom<StorageItemContentProperties> for IStorageItemExtraProperties { 1300 type Error = ::windows::runtime::Error; try_from(value: StorageItemContentProperties) -> ::windows::runtime::Result<Self>1301 fn try_from(value: StorageItemContentProperties) -> ::windows::runtime::Result<Self> { 1302 ::std::convert::TryFrom::try_from(&value) 1303 } 1304 } 1305 impl ::std::convert::TryFrom<&StorageItemContentProperties> for IStorageItemExtraProperties { 1306 type Error = ::windows::runtime::Error; try_from(value: &StorageItemContentProperties) -> ::windows::runtime::Result<Self>1307 fn try_from(value: &StorageItemContentProperties) -> ::windows::runtime::Result<Self> { 1308 ::windows::runtime::Interface::cast(value) 1309 } 1310 } 1311 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>1312 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 1313 ::windows::runtime::IntoParam::into_param(&self) 1314 } 1315 } 1316 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &StorageItemContentProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>1317 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 1318 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1319 } 1320 } 1321 #[cfg(feature = "Storage_Streams")] 1322 #[repr(transparent)] 1323 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1324 pub struct StorageItemThumbnail(::windows::runtime::IInspectable); 1325 #[cfg(feature = "Storage_Streams")] 1326 impl StorageItemThumbnail { 1327 #[cfg(feature = "Foundation")] Close(&self) -> ::windows::runtime::Result<()>1328 pub fn Close(&self) -> ::windows::runtime::Result<()> { 1329 let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?; 1330 unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() } 1331 } OriginalWidth(&self) -> ::windows::runtime::Result<u32>1332 pub fn OriginalWidth(&self) -> ::windows::runtime::Result<u32> { 1333 let this = &::windows::runtime::Interface::cast::<IThumbnailProperties>(self)?; 1334 unsafe { 1335 let mut result__: u32 = ::std::mem::zeroed(); 1336 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1337 } 1338 } OriginalHeight(&self) -> ::windows::runtime::Result<u32>1339 pub fn OriginalHeight(&self) -> ::windows::runtime::Result<u32> { 1340 let this = &::windows::runtime::Interface::cast::<IThumbnailProperties>(self)?; 1341 unsafe { 1342 let mut result__: u32 = ::std::mem::zeroed(); 1343 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1344 } 1345 } ReturnedSmallerCachedSize(&self) -> ::windows::runtime::Result<bool>1346 pub fn ReturnedSmallerCachedSize(&self) -> ::windows::runtime::Result<bool> { 1347 let this = &::windows::runtime::Interface::cast::<IThumbnailProperties>(self)?; 1348 unsafe { 1349 let mut result__: bool = ::std::mem::zeroed(); 1350 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 1351 } 1352 } Type(&self) -> ::windows::runtime::Result<ThumbnailType>1353 pub fn Type(&self) -> ::windows::runtime::Result<ThumbnailType> { 1354 let this = &::windows::runtime::Interface::cast::<IThumbnailProperties>(self)?; 1355 unsafe { 1356 let mut result__: ThumbnailType = ::std::mem::zeroed(); 1357 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ThumbnailType>(result__) 1358 } 1359 } 1360 #[cfg(feature = "Storage_Streams")] ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1361 pub fn ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1362 let this = &::windows::runtime::Interface::cast::<super::Streams::IContentTypeProvider>(self)?; 1363 unsafe { 1364 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1365 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1366 } 1367 } 1368 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] ReadAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, buffer: Param0, count: u32, options: super::Streams::InputStreamOptions) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<super::Streams::IBuffer, u32>>1369 pub fn ReadAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, buffer: Param0, count: u32, options: super::Streams::InputStreamOptions) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<super::Streams::IBuffer, u32>> { 1370 let this = &::windows::runtime::Interface::cast::<super::Streams::IInputStream>(self)?; 1371 unsafe { 1372 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1373 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buffer.into_param().abi(), count, options, &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<super::Streams::IBuffer, u32>>(result__) 1374 } 1375 } 1376 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>1377 pub fn WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>> { 1378 let this = &::windows::runtime::Interface::cast::<super::Streams::IOutputStream>(self)?; 1379 unsafe { 1380 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1381 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buffer.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>(result__) 1382 } 1383 } 1384 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] FlushAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>1385 pub fn FlushAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> { 1386 let this = &::windows::runtime::Interface::cast::<super::Streams::IOutputStream>(self)?; 1387 unsafe { 1388 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1389 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__) 1390 } 1391 } 1392 #[cfg(feature = "Storage_Streams")] Size(&self) -> ::windows::runtime::Result<u64>1393 pub fn Size(&self) -> ::windows::runtime::Result<u64> { 1394 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1395 unsafe { 1396 let mut result__: u64 = ::std::mem::zeroed(); 1397 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__) 1398 } 1399 } 1400 #[cfg(feature = "Storage_Streams")] SetSize(&self, value: u64) -> ::windows::runtime::Result<()>1401 pub fn SetSize(&self, value: u64) -> ::windows::runtime::Result<()> { 1402 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1403 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() } 1404 } 1405 #[cfg(feature = "Storage_Streams")] GetInputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::Streams::IInputStream>1406 pub fn GetInputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::Streams::IInputStream> { 1407 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1408 unsafe { 1409 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1410 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), position, &mut result__).from_abi::<super::Streams::IInputStream>(result__) 1411 } 1412 } 1413 #[cfg(feature = "Storage_Streams")] GetOutputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::Streams::IOutputStream>1414 pub fn GetOutputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::Streams::IOutputStream> { 1415 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1416 unsafe { 1417 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1418 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), position, &mut result__).from_abi::<super::Streams::IOutputStream>(result__) 1419 } 1420 } 1421 #[cfg(feature = "Storage_Streams")] Position(&self) -> ::windows::runtime::Result<u64>1422 pub fn Position(&self) -> ::windows::runtime::Result<u64> { 1423 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1424 unsafe { 1425 let mut result__: u64 = ::std::mem::zeroed(); 1426 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__) 1427 } 1428 } 1429 #[cfg(feature = "Storage_Streams")] Seek(&self, position: u64) -> ::windows::runtime::Result<()>1430 pub fn Seek(&self, position: u64) -> ::windows::runtime::Result<()> { 1431 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1432 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), position).ok() } 1433 } 1434 #[cfg(feature = "Storage_Streams")] CloneStream(&self) -> ::windows::runtime::Result<super::Streams::IRandomAccessStream>1435 pub fn CloneStream(&self) -> ::windows::runtime::Result<super::Streams::IRandomAccessStream> { 1436 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1437 unsafe { 1438 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1439 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Streams::IRandomAccessStream>(result__) 1440 } 1441 } 1442 #[cfg(feature = "Storage_Streams")] CanRead(&self) -> ::windows::runtime::Result<bool>1443 pub fn CanRead(&self) -> ::windows::runtime::Result<bool> { 1444 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1445 unsafe { 1446 let mut result__: bool = ::std::mem::zeroed(); 1447 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 1448 } 1449 } 1450 #[cfg(feature = "Storage_Streams")] CanWrite(&self) -> ::windows::runtime::Result<bool>1451 pub fn CanWrite(&self) -> ::windows::runtime::Result<bool> { 1452 let this = &::windows::runtime::Interface::cast::<super::Streams::IRandomAccessStream>(self)?; 1453 unsafe { 1454 let mut result__: bool = ::std::mem::zeroed(); 1455 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 1456 } 1457 } 1458 } 1459 #[cfg(feature = "Storage_Streams")] 1460 unsafe impl ::windows::runtime::RuntimeType for StorageItemThumbnail { 1461 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.StorageItemThumbnail;{cc254827-4b3d-438f-9232-10c76bc7e038})"); 1462 } 1463 #[cfg(feature = "Storage_Streams")] 1464 unsafe impl ::windows::runtime::Interface for StorageItemThumbnail { 1465 type Vtable = super::Streams::IRandomAccessStreamWithContentType_abi; 1466 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3424995367, 19261, 17295, [146, 50, 16, 199, 107, 199, 224, 56]); 1467 } 1468 #[cfg(feature = "Storage_Streams")] 1469 impl ::windows::runtime::RuntimeName for StorageItemThumbnail { 1470 const NAME: &'static str = "Windows.Storage.FileProperties.StorageItemThumbnail"; 1471 } 1472 #[cfg(feature = "Storage_Streams")] 1473 impl ::std::convert::From<StorageItemThumbnail> for ::windows::runtime::IUnknown { from(value: StorageItemThumbnail) -> Self1474 fn from(value: StorageItemThumbnail) -> Self { 1475 unsafe { ::std::mem::transmute(value) } 1476 } 1477 } 1478 #[cfg(feature = "Storage_Streams")] 1479 impl ::std::convert::From<&StorageItemThumbnail> for ::windows::runtime::IUnknown { from(value: &StorageItemThumbnail) -> Self1480 fn from(value: &StorageItemThumbnail) -> Self { 1481 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1482 } 1483 } 1484 #[cfg(feature = "Storage_Streams")] 1485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1486 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1487 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1488 } 1489 } 1490 #[cfg(feature = "Storage_Streams")] 1491 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1492 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1493 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1494 } 1495 } 1496 #[cfg(feature = "Storage_Streams")] 1497 impl ::std::convert::From<StorageItemThumbnail> for ::windows::runtime::IInspectable { from(value: StorageItemThumbnail) -> Self1498 fn from(value: StorageItemThumbnail) -> Self { 1499 value.0 1500 } 1501 } 1502 #[cfg(feature = "Storage_Streams")] 1503 impl ::std::convert::From<&StorageItemThumbnail> for ::windows::runtime::IInspectable { from(value: &StorageItemThumbnail) -> Self1504 fn from(value: &StorageItemThumbnail) -> Self { 1505 value.0.clone() 1506 } 1507 } 1508 #[cfg(feature = "Storage_Streams")] 1509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1510 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1511 ::windows::runtime::Param::Owned(self.0) 1512 } 1513 } 1514 #[cfg(feature = "Storage_Streams")] 1515 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1516 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1517 ::windows::runtime::Param::Borrowed(&self.0) 1518 } 1519 } 1520 #[cfg(feature = "Storage_Streams")] 1521 impl ::std::convert::From<StorageItemThumbnail> for super::Streams::IRandomAccessStreamWithContentType { from(value: StorageItemThumbnail) -> Self1522 fn from(value: StorageItemThumbnail) -> Self { 1523 unsafe { ::std::mem::transmute(value) } 1524 } 1525 } 1526 #[cfg(feature = "Storage_Streams")] 1527 impl ::std::convert::From<&StorageItemThumbnail> for super::Streams::IRandomAccessStreamWithContentType { from(value: &StorageItemThumbnail) -> Self1528 fn from(value: &StorageItemThumbnail) -> Self { 1529 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1530 } 1531 } 1532 #[cfg(feature = "Storage_Streams")] 1533 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IRandomAccessStreamWithContentType> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStreamWithContentType>1534 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStreamWithContentType> { 1535 ::windows::runtime::Param::Owned(::std::convert::Into::<super::Streams::IRandomAccessStreamWithContentType>::into(self)) 1536 } 1537 } 1538 #[cfg(feature = "Storage_Streams")] 1539 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IRandomAccessStreamWithContentType> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStreamWithContentType>1540 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStreamWithContentType> { 1541 ::windows::runtime::Param::Owned(::std::convert::Into::<super::Streams::IRandomAccessStreamWithContentType>::into(::std::clone::Clone::clone(self))) 1542 } 1543 } 1544 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] 1545 impl ::std::convert::TryFrom<StorageItemThumbnail> for super::super::Foundation::IClosable { 1546 type Error = ::windows::runtime::Error; try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self>1547 fn try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1548 ::std::convert::TryFrom::try_from(&value) 1549 } 1550 } 1551 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] 1552 impl ::std::convert::TryFrom<&StorageItemThumbnail> for super::super::Foundation::IClosable { 1553 type Error = ::windows::runtime::Error; try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self>1554 fn try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1555 ::windows::runtime::Interface::cast(value) 1556 } 1557 } 1558 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] 1559 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1560 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> { 1561 ::windows::runtime::IntoParam::into_param(&self) 1562 } 1563 } 1564 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] 1565 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1566 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> { 1567 ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1568 } 1569 } 1570 #[cfg(feature = "Storage_Streams")] 1571 impl ::std::convert::TryFrom<StorageItemThumbnail> for super::Streams::IContentTypeProvider { 1572 type Error = ::windows::runtime::Error; try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self>1573 fn try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1574 ::std::convert::TryFrom::try_from(&value) 1575 } 1576 } 1577 #[cfg(feature = "Storage_Streams")] 1578 impl ::std::convert::TryFrom<&StorageItemThumbnail> for super::Streams::IContentTypeProvider { 1579 type Error = ::windows::runtime::Error; try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self>1580 fn try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1581 ::windows::runtime::Interface::cast(value) 1582 } 1583 } 1584 #[cfg(feature = "Storage_Streams")] 1585 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IContentTypeProvider> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IContentTypeProvider>1586 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IContentTypeProvider> { 1587 ::windows::runtime::IntoParam::into_param(&self) 1588 } 1589 } 1590 #[cfg(feature = "Storage_Streams")] 1591 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IContentTypeProvider> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IContentTypeProvider>1592 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IContentTypeProvider> { 1593 ::std::convert::TryInto::<super::Streams::IContentTypeProvider>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1594 } 1595 } 1596 #[cfg(feature = "Storage_Streams")] 1597 impl ::std::convert::TryFrom<StorageItemThumbnail> for super::Streams::IInputStream { 1598 type Error = ::windows::runtime::Error; try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self>1599 fn try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1600 ::std::convert::TryFrom::try_from(&value) 1601 } 1602 } 1603 #[cfg(feature = "Storage_Streams")] 1604 impl ::std::convert::TryFrom<&StorageItemThumbnail> for super::Streams::IInputStream { 1605 type Error = ::windows::runtime::Error; try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self>1606 fn try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1607 ::windows::runtime::Interface::cast(value) 1608 } 1609 } 1610 #[cfg(feature = "Storage_Streams")] 1611 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IInputStream> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IInputStream>1612 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IInputStream> { 1613 ::windows::runtime::IntoParam::into_param(&self) 1614 } 1615 } 1616 #[cfg(feature = "Storage_Streams")] 1617 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IInputStream> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IInputStream>1618 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IInputStream> { 1619 ::std::convert::TryInto::<super::Streams::IInputStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1620 } 1621 } 1622 #[cfg(feature = "Storage_Streams")] 1623 impl ::std::convert::TryFrom<StorageItemThumbnail> for super::Streams::IOutputStream { 1624 type Error = ::windows::runtime::Error; try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self>1625 fn try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1626 ::std::convert::TryFrom::try_from(&value) 1627 } 1628 } 1629 #[cfg(feature = "Storage_Streams")] 1630 impl ::std::convert::TryFrom<&StorageItemThumbnail> for super::Streams::IOutputStream { 1631 type Error = ::windows::runtime::Error; try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self>1632 fn try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1633 ::windows::runtime::Interface::cast(value) 1634 } 1635 } 1636 #[cfg(feature = "Storage_Streams")] 1637 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IOutputStream> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IOutputStream>1638 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IOutputStream> { 1639 ::windows::runtime::IntoParam::into_param(&self) 1640 } 1641 } 1642 #[cfg(feature = "Storage_Streams")] 1643 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IOutputStream> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IOutputStream>1644 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IOutputStream> { 1645 ::std::convert::TryInto::<super::Streams::IOutputStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1646 } 1647 } 1648 #[cfg(feature = "Storage_Streams")] 1649 impl ::std::convert::TryFrom<StorageItemThumbnail> for super::Streams::IRandomAccessStream { 1650 type Error = ::windows::runtime::Error; try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self>1651 fn try_from(value: StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1652 ::std::convert::TryFrom::try_from(&value) 1653 } 1654 } 1655 #[cfg(feature = "Storage_Streams")] 1656 impl ::std::convert::TryFrom<&StorageItemThumbnail> for super::Streams::IRandomAccessStream { 1657 type Error = ::windows::runtime::Error; try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self>1658 fn try_from(value: &StorageItemThumbnail) -> ::windows::runtime::Result<Self> { 1659 ::windows::runtime::Interface::cast(value) 1660 } 1661 } 1662 #[cfg(feature = "Storage_Streams")] 1663 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IRandomAccessStream> for StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStream>1664 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStream> { 1665 ::windows::runtime::IntoParam::into_param(&self) 1666 } 1667 } 1668 #[cfg(feature = "Storage_Streams")] 1669 impl<'a> ::windows::runtime::IntoParam<'a, super::Streams::IRandomAccessStream> for &StorageItemThumbnail { into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStream>1670 fn into_param(self) -> ::windows::runtime::Param<'a, super::Streams::IRandomAccessStream> { 1671 ::std::convert::TryInto::<super::Streams::IRandomAccessStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1672 } 1673 } 1674 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1675 #[repr(transparent)] 1676 pub struct ThumbnailMode(pub i32); 1677 impl ThumbnailMode { 1678 pub const PicturesView: ThumbnailMode = ThumbnailMode(0i32); 1679 pub const VideosView: ThumbnailMode = ThumbnailMode(1i32); 1680 pub const MusicView: ThumbnailMode = ThumbnailMode(2i32); 1681 pub const DocumentsView: ThumbnailMode = ThumbnailMode(3i32); 1682 pub const ListView: ThumbnailMode = ThumbnailMode(4i32); 1683 pub const SingleItem: ThumbnailMode = ThumbnailMode(5i32); 1684 } 1685 impl ::std::convert::From<i32> for ThumbnailMode { from(value: i32) -> Self1686 fn from(value: i32) -> Self { 1687 Self(value) 1688 } 1689 } 1690 unsafe impl ::windows::runtime::Abi for ThumbnailMode { 1691 type Abi = Self; 1692 type DefaultType = Self; 1693 } 1694 unsafe impl ::windows::runtime::RuntimeType for ThumbnailMode { 1695 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.ThumbnailMode;i4)"); 1696 } 1697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1698 #[repr(transparent)] 1699 pub struct ThumbnailOptions(pub u32); 1700 impl ThumbnailOptions { 1701 pub const None: ThumbnailOptions = ThumbnailOptions(0u32); 1702 pub const ReturnOnlyIfCached: ThumbnailOptions = ThumbnailOptions(1u32); 1703 pub const ResizeThumbnail: ThumbnailOptions = ThumbnailOptions(2u32); 1704 pub const UseCurrentScale: ThumbnailOptions = ThumbnailOptions(4u32); 1705 } 1706 impl ::std::convert::From<u32> for ThumbnailOptions { from(value: u32) -> Self1707 fn from(value: u32) -> Self { 1708 Self(value) 1709 } 1710 } 1711 unsafe impl ::windows::runtime::Abi for ThumbnailOptions { 1712 type Abi = Self; 1713 type DefaultType = Self; 1714 } 1715 unsafe impl ::windows::runtime::RuntimeType for ThumbnailOptions { 1716 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.ThumbnailOptions;u4)"); 1717 } 1718 impl ::std::ops::BitOr for ThumbnailOptions { 1719 type Output = Self; bitor(self, rhs: Self) -> Self1720 fn bitor(self, rhs: Self) -> Self { 1721 Self(self.0 | rhs.0) 1722 } 1723 } 1724 impl ::std::ops::BitAnd for ThumbnailOptions { 1725 type Output = Self; bitand(self, rhs: Self) -> Self1726 fn bitand(self, rhs: Self) -> Self { 1727 Self(self.0 & rhs.0) 1728 } 1729 } 1730 impl ::std::ops::BitOrAssign for ThumbnailOptions { bitor_assign(&mut self, rhs: Self)1731 fn bitor_assign(&mut self, rhs: Self) { 1732 self.0.bitor_assign(rhs.0) 1733 } 1734 } 1735 impl ::std::ops::BitAndAssign for ThumbnailOptions { bitand_assign(&mut self, rhs: Self)1736 fn bitand_assign(&mut self, rhs: Self) { 1737 self.0.bitand_assign(rhs.0) 1738 } 1739 } 1740 impl ::std::ops::Not for ThumbnailOptions { 1741 type Output = Self; not(self) -> Self1742 fn not(self) -> Self { 1743 Self(self.0.not()) 1744 } 1745 } 1746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1747 #[repr(transparent)] 1748 pub struct ThumbnailType(pub i32); 1749 impl ThumbnailType { 1750 pub const Image: ThumbnailType = ThumbnailType(0i32); 1751 pub const Icon: ThumbnailType = ThumbnailType(1i32); 1752 } 1753 impl ::std::convert::From<i32> for ThumbnailType { from(value: i32) -> Self1754 fn from(value: i32) -> Self { 1755 Self(value) 1756 } 1757 } 1758 unsafe impl ::windows::runtime::Abi for ThumbnailType { 1759 type Abi = Self; 1760 type DefaultType = Self; 1761 } 1762 unsafe impl ::windows::runtime::RuntimeType for ThumbnailType { 1763 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.ThumbnailType;i4)"); 1764 } 1765 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1766 #[repr(transparent)] 1767 pub struct VideoOrientation(pub i32); 1768 impl VideoOrientation { 1769 pub const Normal: VideoOrientation = VideoOrientation(0i32); 1770 pub const Rotate90: VideoOrientation = VideoOrientation(90i32); 1771 pub const Rotate180: VideoOrientation = VideoOrientation(180i32); 1772 pub const Rotate270: VideoOrientation = VideoOrientation(270i32); 1773 } 1774 impl ::std::convert::From<i32> for VideoOrientation { from(value: i32) -> Self1775 fn from(value: i32) -> Self { 1776 Self(value) 1777 } 1778 } 1779 unsafe impl ::windows::runtime::Abi for VideoOrientation { 1780 type Abi = Self; 1781 type DefaultType = Self; 1782 } 1783 unsafe impl ::windows::runtime::RuntimeType for VideoOrientation { 1784 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileProperties.VideoOrientation;i4)"); 1785 } 1786 #[repr(transparent)] 1787 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1788 pub struct VideoProperties(::windows::runtime::IInspectable); 1789 impl VideoProperties { Rating(&self) -> ::windows::runtime::Result<u32>1790 pub fn Rating(&self) -> ::windows::runtime::Result<u32> { 1791 let this = self; 1792 unsafe { 1793 let mut result__: u32 = ::std::mem::zeroed(); 1794 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1795 } 1796 } SetRating(&self, value: u32) -> ::windows::runtime::Result<()>1797 pub fn SetRating(&self, value: u32) -> ::windows::runtime::Result<()> { 1798 let this = self; 1799 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() } 1800 } 1801 #[cfg(feature = "Foundation_Collections")] Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>1802 pub fn Keywords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 1803 let this = self; 1804 unsafe { 1805 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1806 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 1807 } 1808 } Width(&self) -> ::windows::runtime::Result<u32>1809 pub fn Width(&self) -> ::windows::runtime::Result<u32> { 1810 let this = self; 1811 unsafe { 1812 let mut result__: u32 = ::std::mem::zeroed(); 1813 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1814 } 1815 } Height(&self) -> ::windows::runtime::Result<u32>1816 pub fn Height(&self) -> ::windows::runtime::Result<u32> { 1817 let this = self; 1818 unsafe { 1819 let mut result__: u32 = ::std::mem::zeroed(); 1820 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1821 } 1822 } 1823 #[cfg(feature = "Foundation")] Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1824 pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> { 1825 let this = self; 1826 unsafe { 1827 let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed(); 1828 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__) 1829 } 1830 } 1831 #[cfg(feature = "Foundation")] Latitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>1832 pub fn Latitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> { 1833 let this = self; 1834 unsafe { 1835 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1836 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__) 1837 } 1838 } 1839 #[cfg(feature = "Foundation")] Longitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>1840 pub fn Longitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> { 1841 let this = self; 1842 unsafe { 1843 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1844 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__) 1845 } 1846 } Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1847 pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1848 let this = self; 1849 unsafe { 1850 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1851 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1852 } 1853 } SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1854 pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 1855 let this = self; 1856 unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 1857 } Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1858 pub fn Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1859 let this = self; 1860 unsafe { 1861 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1862 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1863 } 1864 } SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1865 pub fn SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 1866 let this = self; 1867 unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 1868 } 1869 #[cfg(feature = "Foundation_Collections")] Producers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>1870 pub fn Producers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 1871 let this = self; 1872 unsafe { 1873 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1874 (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 1875 } 1876 } Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1877 pub fn Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1878 let this = self; 1879 unsafe { 1880 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1881 (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1882 } 1883 } SetPublisher<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1884 pub fn SetPublisher<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 1885 let this = self; 1886 unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 1887 } 1888 #[cfg(feature = "Foundation_Collections")] Writers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>1889 pub fn Writers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 1890 let this = self; 1891 unsafe { 1892 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1893 (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 1894 } 1895 } Year(&self) -> ::windows::runtime::Result<u32>1896 pub fn Year(&self) -> ::windows::runtime::Result<u32> { 1897 let this = self; 1898 unsafe { 1899 let mut result__: u32 = ::std::mem::zeroed(); 1900 (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1901 } 1902 } SetYear(&self, value: u32) -> ::windows::runtime::Result<()>1903 pub fn SetYear(&self, value: u32) -> ::windows::runtime::Result<()> { 1904 let this = self; 1905 unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() } 1906 } Bitrate(&self) -> ::windows::runtime::Result<u32>1907 pub fn Bitrate(&self) -> ::windows::runtime::Result<u32> { 1908 let this = self; 1909 unsafe { 1910 let mut result__: u32 = ::std::mem::zeroed(); 1911 (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1912 } 1913 } 1914 #[cfg(feature = "Foundation_Collections")] Directors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>1915 pub fn Directors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> { 1916 let this = self; 1917 unsafe { 1918 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1919 (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__) 1920 } 1921 } Orientation(&self) -> ::windows::runtime::Result<VideoOrientation>1922 pub fn Orientation(&self) -> ::windows::runtime::Result<VideoOrientation> { 1923 let this = self; 1924 unsafe { 1925 let mut result__: VideoOrientation = ::std::mem::zeroed(); 1926 (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VideoOrientation>(result__) 1927 } 1928 } 1929 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>1930 pub fn RetrievePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, propertiestoretrieve: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> { 1931 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1932 unsafe { 1933 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1934 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__) 1935 } 1936 } 1937 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1938 pub fn SavePropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>>(&self, propertiestosave: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1939 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1940 unsafe { 1941 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1942 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertiestosave.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1943 } 1944 } 1945 #[cfg(feature = "Foundation")] SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>1946 pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 1947 let this = &::windows::runtime::Interface::cast::<IStorageItemExtraProperties>(self)?; 1948 unsafe { 1949 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1950 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 1951 } 1952 } 1953 } 1954 unsafe impl ::windows::runtime::RuntimeType for VideoProperties { 1955 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.FileProperties.VideoProperties;{719ae507-68de-4db8-97de-49998c059f2f})"); 1956 } 1957 unsafe impl ::windows::runtime::Interface for VideoProperties { 1958 type Vtable = IVideoProperties_abi; 1959 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1905976583, 26846, 19896, [151, 222, 73, 153, 140, 5, 159, 47]); 1960 } 1961 impl ::windows::runtime::RuntimeName for VideoProperties { 1962 const NAME: &'static str = "Windows.Storage.FileProperties.VideoProperties"; 1963 } 1964 impl ::std::convert::From<VideoProperties> for ::windows::runtime::IUnknown { from(value: VideoProperties) -> Self1965 fn from(value: VideoProperties) -> Self { 1966 unsafe { ::std::mem::transmute(value) } 1967 } 1968 } 1969 impl ::std::convert::From<&VideoProperties> for ::windows::runtime::IUnknown { from(value: &VideoProperties) -> Self1970 fn from(value: &VideoProperties) -> Self { 1971 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1972 } 1973 } 1974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1975 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1976 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1977 } 1978 } 1979 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1980 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1981 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1982 } 1983 } 1984 impl ::std::convert::From<VideoProperties> for ::windows::runtime::IInspectable { from(value: VideoProperties) -> Self1985 fn from(value: VideoProperties) -> Self { 1986 value.0 1987 } 1988 } 1989 impl ::std::convert::From<&VideoProperties> for ::windows::runtime::IInspectable { from(value: &VideoProperties) -> Self1990 fn from(value: &VideoProperties) -> Self { 1991 value.0.clone() 1992 } 1993 } 1994 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1995 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1996 ::windows::runtime::Param::Owned(self.0) 1997 } 1998 } 1999 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2000 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2001 ::windows::runtime::Param::Borrowed(&self.0) 2002 } 2003 } 2004 impl ::std::convert::TryFrom<VideoProperties> for IStorageItemExtraProperties { 2005 type Error = ::windows::runtime::Error; try_from(value: VideoProperties) -> ::windows::runtime::Result<Self>2006 fn try_from(value: VideoProperties) -> ::windows::runtime::Result<Self> { 2007 ::std::convert::TryFrom::try_from(&value) 2008 } 2009 } 2010 impl ::std::convert::TryFrom<&VideoProperties> for IStorageItemExtraProperties { 2011 type Error = ::windows::runtime::Error; try_from(value: &VideoProperties) -> ::windows::runtime::Result<Self>2012 fn try_from(value: &VideoProperties) -> ::windows::runtime::Result<Self> { 2013 ::windows::runtime::Interface::cast(value) 2014 } 2015 } 2016 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>2017 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 2018 ::windows::runtime::IntoParam::into_param(&self) 2019 } 2020 } 2021 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemExtraProperties> for &VideoProperties { into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties>2022 fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemExtraProperties> { 2023 ::std::convert::TryInto::<IStorageItemExtraProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 2024 } 2025 } 2026