// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Storage_FileProperties_H #define WINRT_Windows_Storage_FileProperties_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.Storage.h" #include "winrt/impl/Windows.Devices.Geolocation.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Storage.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.Storage.FileProperties.2.h" namespace winrt::impl { template auto consume_Windows_Storage_FileProperties_IBasicProperties::Size() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IBasicProperties)->get_Size(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IBasicProperties::DateModified() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IBasicProperties)->get_DateModified(put_abi(value))); return value; } template auto consume_Windows_Storage_FileProperties_IBasicProperties::ItemDate() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IBasicProperties)->get_ItemDate(put_abi(value))); return value; } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Author() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->get_Author(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Title(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->put_Title(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Keywords() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->get_Keywords(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Comment() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->get_Comment(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IDocumentProperties::Comment(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IDocumentProperties)->put_Comment(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IGeotagHelperStatics::GetGeotagAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IGeotagHelperStatics)->GetGeotagAsync(*(void**)(&file), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IGeotagHelperStatics::SetGeotagFromGeolocatorAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Devices::Geolocation::Geolocator const& geolocator) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IGeotagHelperStatics)->SetGeotagFromGeolocatorAsync(*(void**)(&file), *(void**)(&geolocator), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IGeotagHelperStatics::SetGeotagAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Devices::Geolocation::Geopoint const& geopoint) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IGeotagHelperStatics)->SetGeotagAsync(*(void**)(&file), *(void**)(&geopoint), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Rating() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Rating(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Rating(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->put_Rating(value)); } template auto consume_Windows_Storage_FileProperties_IImageProperties::Keywords() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Keywords(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::DateTaken() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_DateTaken(put_abi(value))); return value; } template auto consume_Windows_Storage_FileProperties_IImageProperties::DateTaken(winrt::Windows::Foundation::DateTime const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->put_DateTaken(impl::bind_in(value))); } template auto consume_Windows_Storage_FileProperties_IImageProperties::Width() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Width(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Height() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Height(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Title(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->put_Title(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IImageProperties::Latitude() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Latitude(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::Longitude() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Longitude(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::CameraManufacturer() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_CameraManufacturer(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::CameraManufacturer(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->put_CameraManufacturer(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IImageProperties::CameraModel() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_CameraModel(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IImageProperties::CameraModel(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->put_CameraModel(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IImageProperties::Orientation() const { winrt::Windows::Storage::FileProperties::PhotoOrientation value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_Orientation(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_FileProperties_IImageProperties::PeopleNames() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IImageProperties)->get_PeopleNames(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Album() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Album(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Album(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Album(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Artist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Artist(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Artist(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Artist(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Genre() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Genre(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::TrackNumber() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_TrackNumber(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::TrackNumber(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_TrackNumber(value)); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Title(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Title(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Rating() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Rating(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Rating(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Rating(value)); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Duration() const { winrt::Windows::Foundation::TimeSpan value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Duration(put_abi(value))); return value; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Bitrate() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Bitrate(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::AlbumArtist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_AlbumArtist(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::AlbumArtist(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_AlbumArtist(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Composers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Composers(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Conductors() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Conductors(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Subtitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Subtitle(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Subtitle(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Subtitle(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Producers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Producers(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Publisher() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Publisher(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Publisher(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Publisher(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Writers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Writers(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Year() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->get_Year(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IMusicProperties::Year(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IMusicProperties)->put_Year(value)); } template auto consume_Windows_Storage_FileProperties_IStorageItemContentProperties::GetMusicPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemContentProperties)->GetMusicPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemContentProperties::GetVideoPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemContentProperties)->GetVideoPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemContentProperties::GetImagePropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemContentProperties)->GetImagePropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemContentProperties::GetDocumentPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemContentProperties)->GetDocumentPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemExtraProperties::RetrievePropertiesAsync(param::async_iterable const& propertiesToRetrieve) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemExtraProperties)->RetrievePropertiesAsync(*(void**)(&propertiesToRetrieve), &operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemExtraProperties::SavePropertiesAsync(param::async_iterable> const& propertiesToSave) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemExtraProperties)->SavePropertiesAsync(*(void**)(&propertiesToSave), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IStorageItemExtraProperties::SavePropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IStorageItemExtraProperties)->SavePropertiesAsyncOverloadDefault(&operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IThumbnailProperties::OriginalWidth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IThumbnailProperties)->get_OriginalWidth(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IThumbnailProperties::OriginalHeight() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IThumbnailProperties)->get_OriginalHeight(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IThumbnailProperties::ReturnedSmallerCachedSize() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IThumbnailProperties)->get_ReturnedSmallerCachedSize(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IThumbnailProperties::Type() const { winrt::Windows::Storage::FileProperties::ThumbnailType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IThumbnailProperties)->get_Type(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Rating() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Rating(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Rating(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->put_Rating(value)); } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Keywords() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Keywords(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Width() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Width(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Height() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Height(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Duration() const { winrt::Windows::Foundation::TimeSpan value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Duration(put_abi(value))); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Latitude() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Latitude(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Longitude() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Longitude(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Title(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->put_Title(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Subtitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Subtitle(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Subtitle(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->put_Subtitle(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Producers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Producers(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Publisher() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Publisher(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Publisher(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->put_Publisher(*(void**)(&value))); } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Writers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Writers(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Year() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Year(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Year(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->put_Year(value)); } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Bitrate() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Bitrate(&value)); return value; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Directors() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Directors(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_FileProperties_IVideoProperties::Orientation() const { winrt::Windows::Storage::FileProperties::VideoOrientation value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::FileProperties::IVideoProperties)->get_Orientation(reinterpret_cast(&value))); return value; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Size(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Size()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DateModified(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DateModified()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ItemDate(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ItemDate()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Author(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Author()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Title(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Title(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Keywords(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Keywords()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Comment(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Comment()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Comment(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Comment(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetGeotagAsync(void* file, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetGeotagAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetGeotagFromGeolocatorAsync(void* file, void* geolocator, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SetGeotagFromGeolocatorAsync(*reinterpret_cast(&file), *reinterpret_cast(&geolocator))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetGeotagAsync(void* file, void* geopoint, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SetGeotagAsync(*reinterpret_cast(&file), *reinterpret_cast(&geopoint))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Rating(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Rating()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Rating(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Rating(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Keywords(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Keywords()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DateTaken(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DateTaken()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DateTaken(int64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DateTaken(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Width(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Width()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Height(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Height()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Title(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Title(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Latitude(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Latitude()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Longitude(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Longitude()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CameraManufacturer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CameraManufacturer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_CameraManufacturer(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CameraManufacturer(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CameraModel(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CameraModel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_CameraModel(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CameraModel(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Orientation(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PeopleNames(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().PeopleNames()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Album(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Album()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Album(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Album(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Artist(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Artist()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Artist(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Artist(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Genre(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Genre()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TrackNumber(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TrackNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TrackNumber(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TrackNumber(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Title(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Title(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Rating(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Rating()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Rating(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Rating(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Bitrate(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Bitrate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlbumArtist(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlbumArtist()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AlbumArtist(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AlbumArtist(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Composers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Composers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Conductors(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Conductors()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Subtitle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Subtitle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Subtitle(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Subtitle(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Producers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Producers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Publisher(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Publisher()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Publisher(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Publisher(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Writers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Writers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Year(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Year()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Year(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Year(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetMusicPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetMusicPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetVideoPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetVideoPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetImagePropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetImagePropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDocumentPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetDocumentPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall RetrievePropertiesAsync(void* propertiesToRetrieve, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().RetrievePropertiesAsync(*reinterpret_cast const*>(&propertiesToRetrieve))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SavePropertiesAsync(void* propertiesToSave, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SavePropertiesAsync(*reinterpret_cast> const*>(&propertiesToSave))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SavePropertiesAsyncOverloadDefault(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SavePropertiesAsync()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_OriginalWidth(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OriginalWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OriginalHeight(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OriginalHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReturnedSmallerCachedSize(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReturnedSmallerCachedSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Type(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Type()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Rating(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Rating()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Rating(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Rating(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Keywords(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Keywords()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Width(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Width()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Height(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Height()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Latitude(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Latitude()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Longitude(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Longitude()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Title(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Title(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Subtitle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Subtitle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Subtitle(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Subtitle(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Producers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Producers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Publisher(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Publisher()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Publisher(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Publisher(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Writers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Writers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Year(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Year()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Year(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Year(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Bitrate(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Bitrate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Directors(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Directors()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Orientation(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Storage::FileProperties { constexpr auto operator|(PropertyPrefetchOptions const left, PropertyPrefetchOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(PropertyPrefetchOptions& left, PropertyPrefetchOptions const right) noexcept { left = left | right; return left; } constexpr auto operator&(PropertyPrefetchOptions const left, PropertyPrefetchOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(PropertyPrefetchOptions& left, PropertyPrefetchOptions const right) noexcept { left = left & right; return left; } constexpr auto operator~(PropertyPrefetchOptions const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(PropertyPrefetchOptions const left, PropertyPrefetchOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(PropertyPrefetchOptions& left, PropertyPrefetchOptions const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(ThumbnailOptions const left, ThumbnailOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(ThumbnailOptions& left, ThumbnailOptions const right) noexcept { left = left | right; return left; } constexpr auto operator&(ThumbnailOptions const left, ThumbnailOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(ThumbnailOptions& left, ThumbnailOptions const right) noexcept { left = left & right; return left; } constexpr auto operator~(ThumbnailOptions const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(ThumbnailOptions const left, ThumbnailOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(ThumbnailOptions& left, ThumbnailOptions const right) noexcept { left = left ^ right; return left; } inline auto GeotagHelper::GetGeotagAsync(winrt::Windows::Storage::IStorageFile const& file) { return impl::call_factory([&](IGeotagHelperStatics const& f) { return f.GetGeotagAsync(file); }); } inline auto GeotagHelper::SetGeotagFromGeolocatorAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Devices::Geolocation::Geolocator const& geolocator) { return impl::call_factory([&](IGeotagHelperStatics const& f) { return f.SetGeotagFromGeolocatorAsync(file, geolocator); }); } inline auto GeotagHelper::SetGeotagAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Devices::Geolocation::Geopoint const& geopoint) { return impl::call_factory([&](IGeotagHelperStatics const& f) { return f.SetGeotagAsync(file, geopoint); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif