// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Storage_H #define WINRT_Windows_Storage_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/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Storage.FileProperties.2.h" #include "winrt/impl/Windows.Storage.Provider.2.h" #include "winrt/impl/Windows.Storage.Search.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.System.2.h" #include "winrt/impl/Windows.Storage.2.h" namespace winrt::impl { template auto consume_Windows_Storage_IAppDataPaths::Cookies() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_Cookies(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::Desktop() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_Desktop(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::Documents() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_Documents(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::Favorites() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_Favorites(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::History() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_History(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::InternetCache() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_InternetCache(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::LocalAppData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_LocalAppData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::ProgramData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_ProgramData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPaths::RoamingAppData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPaths)->get_RoamingAppData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPathsStatics::GetForUser(winrt::Windows::System::User const& user) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPathsStatics)->GetForUser(*(void**)(&user), &result)); return winrt::Windows::Storage::AppDataPaths{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_IAppDataPathsStatics::GetDefault() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IAppDataPathsStatics)->GetDefault(&result)); return winrt::Windows::Storage::AppDataPaths{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::Version() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_Version(&value)); return value; } template auto consume_Windows_Storage_IApplicationData::SetVersionAsync(uint32_t desiredVersion, winrt::Windows::Storage::ApplicationDataSetVersionHandler const& handler) const { void* setVersionOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->SetVersionAsync(desiredVersion, *(void**)(&handler), &setVersionOperation)); return winrt::Windows::Foundation::IAsyncAction{ setVersionOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::ClearAsync() const { void* clearOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->ClearAllAsync(&clearOperation)); return winrt::Windows::Foundation::IAsyncAction{ clearOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::ClearAsync(winrt::Windows::Storage::ApplicationDataLocality const& locality) const { void* clearOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->ClearAsync(static_cast(locality), &clearOperation)); return winrt::Windows::Foundation::IAsyncAction{ clearOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::LocalSettings() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_LocalSettings(&value)); return winrt::Windows::Storage::ApplicationDataContainer{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::RoamingSettings() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_RoamingSettings(&value)); return winrt::Windows::Storage::ApplicationDataContainer{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::LocalFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_LocalFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::RoamingFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_RoamingFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::TemporaryFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_TemporaryFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData::DataChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->add_DataChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Storage_IApplicationData::DataChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, DataChanged(handler)); } template auto consume_Windows_Storage_IApplicationData::DataChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->remove_DataChanged(impl::bind_in(token)); } template auto consume_Windows_Storage_IApplicationData::SignalDataChanged() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->SignalDataChanged()); } template auto consume_Windows_Storage_IApplicationData::RoamingStorageQuota() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData)->get_RoamingStorageQuota(&value)); return value; } template auto consume_Windows_Storage_IApplicationData2::LocalCacheFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData2)->get_LocalCacheFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData3::GetPublisherCacheFolder(param::hstring const& folderName) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData3)->GetPublisherCacheFolder(*(void**)(&folderName), &value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData3::ClearPublisherCacheFolderAsync(param::hstring const& folderName) const { void* clearOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData3)->ClearPublisherCacheFolderAsync(*(void**)(&folderName), &clearOperation)); return winrt::Windows::Foundation::IAsyncAction{ clearOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationData3::SharedLocalFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationData3)->get_SharedLocalFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataContainer::Name() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->get_Name(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataContainer::Locality() const { winrt::Windows::Storage::ApplicationDataLocality value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->get_Locality(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_IApplicationDataContainer::Values() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->get_Values(&value)); return winrt::Windows::Foundation::Collections::IPropertySet{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataContainer::Containers() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->get_Containers(&value)); return winrt::Windows::Foundation::Collections::IMapView{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataContainer::CreateContainer(param::hstring const& name, winrt::Windows::Storage::ApplicationDataCreateDisposition const& disposition) const { void* container{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->CreateContainer(*(void**)(&name), static_cast(disposition), &container)); return winrt::Windows::Storage::ApplicationDataContainer{ container, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataContainer::DeleteContainer(param::hstring const& name) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataContainer)->DeleteContainer(*(void**)(&name))); } template auto consume_Windows_Storage_IApplicationDataStatics::Current() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataStatics)->get_Current(&value)); return winrt::Windows::Storage::ApplicationData{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IApplicationDataStatics2::GetForUserAsync(winrt::Windows::System::User const& user) const { void* getForUserOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IApplicationDataStatics2)->GetForUserAsync(*(void**)(&user), &getForUserOperation)); return winrt::Windows::Foundation::IAsyncOperation{ getForUserOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_ICachedFileManagerStatics::DeferUpdates(winrt::Windows::Storage::IStorageFile const& file) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ICachedFileManagerStatics)->DeferUpdates(*(void**)(&file))); } template auto consume_Windows_Storage_ICachedFileManagerStatics::CompleteUpdatesAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ICachedFileManagerStatics)->CompleteUpdatesAsync(*(void**)(&file), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics::CreateFileAsync(param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics)->CreateFileAsync(*(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics::CreateFolderAsync(param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics)->CreateFolderAsync(*(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics::CreateFileAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics)->CreateFileWithCollisionOptionAsync(*(void**)(&desiredName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics::CreateFolderAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics)->CreateFolderWithCollisionOptionAsync(*(void**)(&desiredName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics2::CreateFileForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics2)->CreateFileForUserAsync(*(void**)(&user), *(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics2::CreateFolderForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics2)->CreateFolderForUserAsync(*(void**)(&user), *(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics2::CreateFileForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics2)->CreateFileForUserWithCollisionOptionAsync(*(void**)(&user), *(void**)(&desiredName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IDownloadsFolderStatics2::CreateFolderForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IDownloadsFolderStatics2)->CreateFolderForUserWithCollisionOptionAsync(*(void**)(&user), *(void**)(&desiredName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::ReadTextAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->ReadTextAsync(*(void**)(&file), &textOperation)); return winrt::Windows::Foundation::IAsyncOperation{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::ReadTextAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->ReadTextWithEncodingAsync(*(void**)(&file), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncOperation{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteTextAsync(*(void**)(&file), *(void**)(&contents), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteTextWithEncodingAsync(*(void**)(&file), *(void**)(&contents), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::AppendTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->AppendTextAsync(*(void**)(&file), *(void**)(&contents), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::AppendTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->AppendTextWithEncodingAsync(*(void**)(&file), *(void**)(&contents), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::ReadLinesAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* linesOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->ReadLinesAsync(*(void**)(&file), &linesOperation)); return winrt::Windows::Foundation::IAsyncOperation>{ linesOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::ReadLinesAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* linesOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->ReadLinesWithEncodingAsync(*(void**)(&file), static_cast(encoding), &linesOperation)); return winrt::Windows::Foundation::IAsyncOperation>{ linesOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteLinesAsync(*(void**)(&file), *(void**)(&lines), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteLinesWithEncodingAsync(*(void**)(&file), *(void**)(&lines), static_cast(encoding), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::AppendLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->AppendLinesAsync(*(void**)(&file), *(void**)(&lines), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::AppendLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->AppendLinesWithEncodingAsync(*(void**)(&file), *(void**)(&lines), static_cast(encoding), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::ReadBufferAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->ReadBufferAsync(*(void**)(&file), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteBufferAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::IBuffer const& buffer) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteBufferAsync(*(void**)(&file), *(void**)(&buffer), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IFileIOStatics::WriteBytesAsync(winrt::Windows::Storage::IStorageFile const& file, array_view buffer) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IFileIOStatics)->WriteBytesAsync(*(void**)(&file), buffer.size(), get_abi(buffer), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersCameraRollStatics::CameraRoll() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersCameraRollStatics)->get_CameraRoll(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersPlaylistsStatics::Playlists() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersPlaylistsStatics)->get_Playlists(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersSavedPicturesStatics::SavedPictures() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersSavedPicturesStatics)->get_SavedPictures(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::MusicLibrary() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_MusicLibrary(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::PicturesLibrary() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_PicturesLibrary(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::VideosLibrary() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_VideosLibrary(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::DocumentsLibrary() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_DocumentsLibrary(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::HomeGroup() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_HomeGroup(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::RemovableDevices() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_RemovableDevices(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics::MediaServerDevices() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics)->get_MediaServerDevices(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics2::Objects3D() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics2)->get_Objects3D(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics2::AppCaptures() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics2)->get_AppCaptures(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics2::RecordedCalls() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics2)->get_RecordedCalls(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics3::GetFolderForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownFolderId const& folderId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics3)->GetFolderForUserAsync(*(void**)(&user), static_cast(folderId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics4::RequestAccessAsync(winrt::Windows::Storage::KnownFolderId const& folderId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics4)->RequestAccessAsync(static_cast(folderId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics4::RequestAccessForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownFolderId const& folderId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics4)->RequestAccessForUserAsync(*(void**)(&user), static_cast(folderId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IKnownFoldersStatics4::GetFolderAsync(winrt::Windows::Storage::KnownFolderId const& folderId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IKnownFoldersStatics4)->GetFolderAsync(static_cast(folderId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::ReadTextAsync(param::hstring const& absolutePath) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->ReadTextAsync(*(void**)(&absolutePath), &textOperation)); return winrt::Windows::Foundation::IAsyncOperation{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::ReadTextAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->ReadTextWithEncodingAsync(*(void**)(&absolutePath), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncOperation{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteTextAsync(param::hstring const& absolutePath, param::hstring const& contents) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteTextAsync(*(void**)(&absolutePath), *(void**)(&contents), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteTextAsync(param::hstring const& absolutePath, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteTextWithEncodingAsync(*(void**)(&absolutePath), *(void**)(&contents), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::AppendTextAsync(param::hstring const& absolutePath, param::hstring const& contents) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->AppendTextAsync(*(void**)(&absolutePath), *(void**)(&contents), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::AppendTextAsync(param::hstring const& absolutePath, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* textOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->AppendTextWithEncodingAsync(*(void**)(&absolutePath), *(void**)(&contents), static_cast(encoding), &textOperation)); return winrt::Windows::Foundation::IAsyncAction{ textOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::ReadLinesAsync(param::hstring const& absolutePath) const { void* linesOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->ReadLinesAsync(*(void**)(&absolutePath), &linesOperation)); return winrt::Windows::Foundation::IAsyncOperation>{ linesOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::ReadLinesAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* linesOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->ReadLinesWithEncodingAsync(*(void**)(&absolutePath), static_cast(encoding), &linesOperation)); return winrt::Windows::Foundation::IAsyncOperation>{ linesOperation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteLinesAsync(*(void**)(&absolutePath), *(void**)(&lines), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteLinesWithEncodingAsync(*(void**)(&absolutePath), *(void**)(&lines), static_cast(encoding), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::AppendLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->AppendLinesAsync(*(void**)(&absolutePath), *(void**)(&lines), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::AppendLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->AppendLinesWithEncodingAsync(*(void**)(&absolutePath), *(void**)(&lines), static_cast(encoding), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::ReadBufferAsync(param::hstring const& absolutePath) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->ReadBufferAsync(*(void**)(&absolutePath), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteBufferAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::IBuffer const& buffer) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteBufferAsync(*(void**)(&absolutePath), *(void**)(&buffer), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IPathIOStatics::WriteBytesAsync(param::hstring const& absolutePath, array_view buffer) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IPathIOStatics)->WriteBytesAsync(*(void**)(&absolutePath), buffer.size(), get_abi(buffer), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISetVersionDeferral::Complete() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISetVersionDeferral)->Complete()); } template auto consume_Windows_Storage_ISetVersionRequest::CurrentVersion() const { uint32_t currentVersion{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISetVersionRequest)->get_CurrentVersion(¤tVersion)); return currentVersion; } template auto consume_Windows_Storage_ISetVersionRequest::DesiredVersion() const { uint32_t desiredVersion{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISetVersionRequest)->get_DesiredVersion(&desiredVersion)); return desiredVersion; } template auto consume_Windows_Storage_ISetVersionRequest::GetDeferral() const { void* deferral{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISetVersionRequest)->GetDeferral(&deferral)); return winrt::Windows::Storage::SetVersionDeferral{ deferral, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::FileType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->get_FileType(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::ContentType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->get_ContentType(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::OpenAsync(winrt::Windows::Storage::FileAccessMode const& accessMode) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->OpenAsync(static_cast(accessMode), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::OpenTransactedWriteAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->OpenTransactedWriteAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::CopyAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->CopyOverloadDefaultNameAndOptions(*(void**)(&destinationFolder), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::CopyAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder, param::hstring const& desiredNewName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->CopyOverloadDefaultOptions(*(void**)(&destinationFolder), *(void**)(&desiredNewName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::CopyAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder, param::hstring const& desiredNewName, winrt::Windows::Storage::NameCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->CopyOverload(*(void**)(&destinationFolder), *(void**)(&desiredNewName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::CopyAndReplaceAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->CopyAndReplaceAsync(*(void**)(&fileToReplace), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::MoveAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->MoveOverloadDefaultNameAndOptions(*(void**)(&destinationFolder), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::MoveAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder, param::hstring const& desiredNewName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->MoveOverloadDefaultOptions(*(void**)(&destinationFolder), *(void**)(&desiredNewName), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::MoveAsync(winrt::Windows::Storage::IStorageFolder const& destinationFolder, param::hstring const& desiredNewName, winrt::Windows::Storage::NameCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->MoveOverload(*(void**)(&destinationFolder), *(void**)(&desiredNewName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile::MoveAndReplaceAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile)->MoveAndReplaceAsync(*(void**)(&fileToReplace), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile2::OpenAsync(winrt::Windows::Storage::FileAccessMode const& accessMode, winrt::Windows::Storage::StorageOpenOptions const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile2)->OpenWithOptionsAsync(static_cast(accessMode), static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFile2::OpenTransactedWriteAsync(winrt::Windows::Storage::StorageOpenOptions const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFile2)->OpenTransactedWriteWithOptionsAsync(static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFilePropertiesWithAvailability::IsAvailable() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFilePropertiesWithAvailability)->get_IsAvailable(&value)); return value; } template auto consume_Windows_Storage_IStorageFileStatics::GetFileFromPathAsync(param::hstring const& path) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->GetFileFromPathAsync(*(void**)(&path), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics::GetFileFromApplicationUriAsync(winrt::Windows::Foundation::Uri const& uri) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->GetFileFromApplicationUriAsync(*(void**)(&uri), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics::CreateStreamedFileAsync(param::hstring const& displayNameWithExtension, winrt::Windows::Storage::StreamedFileDataRequestedHandler const& dataRequested, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->CreateStreamedFileAsync(*(void**)(&displayNameWithExtension), *(void**)(&dataRequested), *(void**)(&thumbnail), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics::ReplaceWithStreamedFileAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace, winrt::Windows::Storage::StreamedFileDataRequestedHandler const& dataRequested, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->ReplaceWithStreamedFileAsync(*(void**)(&fileToReplace), *(void**)(&dataRequested), *(void**)(&thumbnail), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics::CreateStreamedFileFromUriAsync(param::hstring const& displayNameWithExtension, winrt::Windows::Foundation::Uri const& uri, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->CreateStreamedFileFromUriAsync(*(void**)(&displayNameWithExtension), *(void**)(&uri), *(void**)(&thumbnail), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics::ReplaceWithStreamedFileFromUriAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace, winrt::Windows::Foundation::Uri const& uri, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics)->ReplaceWithStreamedFileFromUriAsync(*(void**)(&fileToReplace), *(void**)(&uri), *(void**)(&thumbnail), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFileStatics2::GetFileFromPathForUserAsync(winrt::Windows::System::User const& user, param::hstring const& path) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFileStatics2)->GetFileFromPathForUserAsync(*(void**)(&user), *(void**)(&path), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::CreateFileAsync(param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->CreateFileAsyncOverloadDefaultOptions(*(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::CreateFileAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->CreateFileAsync(*(void**)(&desiredName), static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::CreateFolderAsync(param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->CreateFolderAsyncOverloadDefaultOptions(*(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::CreateFolderAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->CreateFolderAsync(*(void**)(&desiredName), static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetFileAsync(param::hstring const& name) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetFileAsync(*(void**)(&name), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetFolderAsync(param::hstring const& name) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetFolderAsync(*(void**)(&name), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetItemAsync(param::hstring const& name) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetItemAsync(*(void**)(&name), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetFilesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetFilesAsyncOverloadDefaultOptionsStartAndCount(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetFoldersAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder::GetItemsAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder)->GetItemsAsyncOverloadDefaultStartAndCount(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder2::TryGetItemAsync(param::hstring const& name) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder2)->TryGetItemAsync(*(void**)(&name), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolder3::TryGetChangeTracker() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolder3)->TryGetChangeTracker(&result)); return winrt::Windows::Storage::StorageLibraryChangeTracker{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolderStatics::GetFolderFromPathAsync(param::hstring const& path) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolderStatics)->GetFolderFromPathAsync(*(void**)(&path), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageFolderStatics2::GetFolderFromPathForUserAsync(winrt::Windows::System::User const& user, param::hstring const& path) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageFolderStatics2)->GetFolderFromPathForUserAsync(*(void**)(&user), *(void**)(&path), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::RenameAsync(param::hstring const& desiredName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->RenameAsyncOverloadDefaultOptions(*(void**)(&desiredName), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::RenameAsync(param::hstring const& desiredName, winrt::Windows::Storage::NameCollisionOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->RenameAsync(*(void**)(&desiredName), static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::DeleteAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->DeleteAsyncOverloadDefaultOptions(&operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::DeleteAsync(winrt::Windows::Storage::StorageDeleteOption const& option) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->DeleteAsync(static_cast(option), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::GetBasicPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->GetBasicPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::Name() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->get_Name(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::Path() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->get_Path(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem::Attributes() const { winrt::Windows::Storage::FileAttributes value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->get_Attributes(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_IStorageItem::DateCreated() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->get_DateCreated(put_abi(value))); return value; } template auto consume_Windows_Storage_IStorageItem::IsOfType(winrt::Windows::Storage::StorageItemTypes const& type) const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem)->IsOfType(static_cast(type), &value)); return value; } template auto consume_Windows_Storage_IStorageItem2::GetParentAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem2)->GetParentAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItem2::IsEqual(winrt::Windows::Storage::IStorageItem const& item) const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItem2)->IsEqual(*(void**)(&item), &value)); return value; } template auto consume_Windows_Storage_IStorageItemProperties::GetThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(static_cast(mode), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::GetThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode, uint32_t requestedSize) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->GetThumbnailAsyncOverloadDefaultOptions(static_cast(mode), requestedSize, &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::GetThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode, uint32_t requestedSize, winrt::Windows::Storage::FileProperties::ThumbnailOptions const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->GetThumbnailAsync(static_cast(mode), requestedSize, static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::DisplayType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->get_DisplayType(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::FolderRelativeId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->get_FolderRelativeId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties::Properties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties)->get_Properties(&value)); return winrt::Windows::Storage::FileProperties::StorageItemContentProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties2)->GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(static_cast(mode), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode, uint32_t requestedSize) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties2)->GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(static_cast(mode), requestedSize, &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(winrt::Windows::Storage::FileProperties::ThumbnailMode const& mode, uint32_t requestedSize, winrt::Windows::Storage::FileProperties::ThumbnailOptions const& options) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemProperties2)->GetScaledImageAsThumbnailAsync(static_cast(mode), requestedSize, static_cast(options), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageItemPropertiesWithProvider::Provider() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageItemPropertiesWithProvider)->get_Provider(&value)); return winrt::Windows::Storage::StorageProvider{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary::RequestAddFolderAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->RequestAddFolderAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary::RequestRemoveFolderAsync(winrt::Windows::Storage::StorageFolder const& folder) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->RequestRemoveFolderAsync(*(void**)(&folder), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary::Folders() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->get_Folders(&value)); return winrt::Windows::Foundation::Collections::IObservableVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary::SaveFolder() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->get_SaveFolder(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary::DefinitionChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token eventCookie{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->add_DefinitionChanged(*(void**)(&handler), put_abi(eventCookie))); return eventCookie; } template auto consume_Windows_Storage_IStorageLibrary::DefinitionChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, DefinitionChanged(handler)); } template auto consume_Windows_Storage_IStorageLibrary::DefinitionChanged(winrt::event_token const& eventCookie) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary)->remove_DefinitionChanged(impl::bind_in(eventCookie)); } template auto consume_Windows_Storage_IStorageLibrary2::ChangeTracker() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary2)->get_ChangeTracker(&value)); return winrt::Windows::Storage::StorageLibraryChangeTracker{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibrary3::AreFolderSuggestionsAvailableAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibrary3)->AreFolderSuggestionsAvailableAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChange::ChangeType() const { winrt::Windows::Storage::StorageLibraryChangeType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChange)->get_ChangeType(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_IStorageLibraryChange::Path() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChange)->get_Path(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChange::PreviousPath() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChange)->get_PreviousPath(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChange::IsOfType(winrt::Windows::Storage::StorageItemTypes const& type) const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChange)->IsOfType(static_cast(type), &value)); return value; } template auto consume_Windows_Storage_IStorageLibraryChange::GetStorageItemAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChange)->GetStorageItemAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChangeReader::ReadBatchAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeReader)->ReadBatchAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChangeReader::AcceptChangesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeReader)->AcceptChangesAsync(&operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChangeReader2::GetLastChangeId() const { uint64_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeReader2)->GetLastChangeId(&result)); return result; } template auto consume_Windows_Storage_IStorageLibraryChangeTracker::GetChangeReader() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTracker)->GetChangeReader(&value)); return winrt::Windows::Storage::StorageLibraryChangeReader{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryChangeTracker::Enable() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTracker)->Enable()); } template auto consume_Windows_Storage_IStorageLibraryChangeTracker::Reset() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTracker)->Reset()); } template auto consume_Windows_Storage_IStorageLibraryChangeTracker2::Enable(winrt::Windows::Storage::StorageLibraryChangeTrackerOptions const& options) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTracker2)->EnableWithOptions(*(void**)(&options))); } template auto consume_Windows_Storage_IStorageLibraryChangeTracker2::Disable() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTracker2)->Disable()); } template auto consume_Windows_Storage_IStorageLibraryChangeTrackerOptions::TrackChangeDetails() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTrackerOptions)->get_TrackChangeDetails(&value)); return value; } template auto consume_Windows_Storage_IStorageLibraryChangeTrackerOptions::TrackChangeDetails(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryChangeTrackerOptions)->put_TrackChangeDetails(value)); } template auto consume_Windows_Storage_IStorageLibraryLastChangeIdStatics::Unknown() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryLastChangeIdStatics)->get_Unknown(&value)); return value; } template auto consume_Windows_Storage_IStorageLibraryStatics::GetLibraryAsync(winrt::Windows::Storage::KnownLibraryId const& libraryId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryStatics)->GetLibraryAsync(static_cast(libraryId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageLibraryStatics2::GetLibraryForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownLibraryId const& libraryId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageLibraryStatics2)->GetLibraryForUserAsync(*(void**)(&user), static_cast(libraryId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageProvider::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageProvider)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageProvider::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageProvider)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageProvider2::IsPropertySupportedForPartialFileAsync(param::hstring const& propertyCanonicalName) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageProvider2)->IsPropertySupportedForPartialFileAsync(*(void**)(&propertyCanonicalName), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageStreamTransaction::Stream() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageStreamTransaction)->get_Stream(&value)); return winrt::Windows::Storage::Streams::IRandomAccessStream{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStorageStreamTransaction::CommitAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStorageStreamTransaction)->CommitAsync(&operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_IStreamedFileDataRequest::FailAndClose(winrt::Windows::Storage::StreamedFileFailureMode const& failureMode) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IStreamedFileDataRequest)->FailAndClose(static_cast(failureMode))); } template auto consume_Windows_Storage_ISystemAudioProperties::EncodingBitrate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemAudioProperties)->get_EncodingBitrate(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::Fonts() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_Fonts(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::ProgramData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_ProgramData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::Public() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_Public(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicDesktop() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicDesktop(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicDocuments() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicDocuments(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicDownloads() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicDownloads(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicMusic() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicMusic(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicPictures() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicPictures(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::PublicVideos() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_PublicVideos(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::System() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_System(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::SystemHost() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_SystemHost(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::SystemX86() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_SystemX86(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::SystemX64() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_SystemX64(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::SystemArm() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_SystemArm(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::UserProfiles() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_UserProfiles(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPaths::Windows() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPaths)->get_Windows(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemDataPathsStatics::GetDefault() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemDataPathsStatics)->GetDefault(&result)); return winrt::Windows::Storage::SystemDataPaths{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemGPSProperties::LatitudeDecimal() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemGPSProperties)->get_LatitudeDecimal(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemGPSProperties::LongitudeDecimal() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemGPSProperties)->get_LongitudeDecimal(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemImageProperties::HorizontalSize() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemImageProperties)->get_HorizontalSize(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemImageProperties::VerticalSize() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemImageProperties)->get_VerticalSize(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::Duration() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_Duration(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::Producer() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_Producer(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::Publisher() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_Publisher(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::SubTitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_SubTitle(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::Writer() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_Writer(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMediaProperties::Year() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMediaProperties)->get_Year(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::AlbumArtist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_AlbumArtist(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::AlbumTitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_AlbumTitle(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::Artist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_Artist(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::Composer() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_Composer(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::Conductor() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_Conductor(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::DisplayArtist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_DisplayArtist(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::Genre() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_Genre(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemMusicProperties::TrackNumber() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemMusicProperties)->get_TrackNumber(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemPhotoProperties::CameraManufacturer() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemPhotoProperties)->get_CameraManufacturer(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemPhotoProperties::CameraModel() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemPhotoProperties)->get_CameraModel(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemPhotoProperties::DateTaken() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemPhotoProperties)->get_DateTaken(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemPhotoProperties::Orientation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemPhotoProperties)->get_Orientation(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemPhotoProperties::PeopleNames() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemPhotoProperties)->get_PeopleNames(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Author() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Author(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Comment() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Comment(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::ItemNameDisplay() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_ItemNameDisplay(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Keywords() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Keywords(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Rating() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Rating(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Audio() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Audio(&value)); return winrt::Windows::Storage::SystemAudioProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::GPS() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_GPS(&value)); return winrt::Windows::Storage::SystemGPSProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Media() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Media(&value)); return winrt::Windows::Storage::SystemMediaProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Music() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Music(&value)); return winrt::Windows::Storage::SystemMusicProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Photo() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Photo(&value)); return winrt::Windows::Storage::SystemPhotoProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Video() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Video(&value)); return winrt::Windows::Storage::SystemVideoProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemProperties::Image() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemProperties)->get_Image(&value)); return winrt::Windows::Storage::SystemImageProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemVideoProperties::Director() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemVideoProperties)->get_Director(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemVideoProperties::FrameHeight() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemVideoProperties)->get_FrameHeight(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemVideoProperties::FrameWidth() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemVideoProperties)->get_FrameWidth(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemVideoProperties::Orientation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemVideoProperties)->get_Orientation(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_ISystemVideoProperties::TotalBitrate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::ISystemVideoProperties)->get_TotalBitrate(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::CameraRoll() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_CameraRoll(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Cookies() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Cookies(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Desktop() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Desktop(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Documents() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Documents(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Downloads() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Downloads(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Favorites() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Favorites(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::History() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_History(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::InternetCache() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_InternetCache(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::LocalAppData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_LocalAppData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::LocalAppDataLow() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_LocalAppDataLow(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Music() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Music(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Pictures() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Pictures(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Profile() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Profile(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Recent() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Recent(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::RoamingAppData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_RoamingAppData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::SavedPictures() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_SavedPictures(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Screenshots() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Screenshots(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Templates() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Templates(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPaths::Videos() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPaths)->get_Videos(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPathsStatics::GetForUser(winrt::Windows::System::User const& user) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPathsStatics)->GetForUser(*(void**)(&user), &result)); return winrt::Windows::Storage::UserDataPaths{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_IUserDataPathsStatics::GetDefault() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::IUserDataPathsStatics)->GetDefault(&result)); return winrt::Windows::Storage::UserDataPaths{ result, take_ownership_from_abi }; } template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* setVersionRequest) noexcept final try { (*this)(*reinterpret_cast(&setVersionRequest)); return 0; } catch (...) { return to_hresult(); } }; template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* stream) noexcept final try { (*this)(*reinterpret_cast(&stream)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Cookies(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Cookies()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Desktop(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Desktop()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Documents(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Documents()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Favorites(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Favorites()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_History(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().History()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InternetCache(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InternetCache()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LocalAppData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalAppData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProgramData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProgramData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoamingAppData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoamingAppData()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForUser(void* user, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetForUser(*reinterpret_cast(&user))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDefault(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDefault()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Version(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Version()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetVersionAsync(uint32_t desiredVersion, void* handler, void** setVersionOperation) noexcept final try { clear_abi(setVersionOperation); typename D::abi_guard guard(this->shim()); *setVersionOperation = detach_from(this->shim().SetVersionAsync(desiredVersion, *reinterpret_cast(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ClearAllAsync(void** clearOperation) noexcept final try { clear_abi(clearOperation); typename D::abi_guard guard(this->shim()); *clearOperation = detach_from(this->shim().ClearAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ClearAsync(int32_t locality, void** clearOperation) noexcept final try { clear_abi(clearOperation); typename D::abi_guard guard(this->shim()); *clearOperation = detach_from(this->shim().ClearAsync(*reinterpret_cast(&locality))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LocalSettings(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalSettings()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoamingSettings(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoamingSettings()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LocalFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalFolder()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoamingFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoamingFolder()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TemporaryFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TemporaryFolder()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_DataChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().DataChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_DataChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().DataChanged(*reinterpret_cast(&token)); return 0; } int32_t __stdcall SignalDataChanged() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SignalDataChanged(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoamingStorageQuota(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoamingStorageQuota()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_LocalCacheFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalCacheFolder()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetPublisherCacheFolder(void* folderName, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetPublisherCacheFolder(*reinterpret_cast(&folderName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ClearPublisherCacheFolderAsync(void* folderName, void** clearOperation) noexcept final try { clear_abi(clearOperation); typename D::abi_guard guard(this->shim()); *clearOperation = detach_from(this->shim().ClearPublisherCacheFolderAsync(*reinterpret_cast(&folderName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SharedLocalFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SharedLocalFolder()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Name(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Name()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Locality(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Locality()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Values(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Values()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Containers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Containers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateContainer(void* name, int32_t disposition, void** container) noexcept final try { clear_abi(container); typename D::abi_guard guard(this->shim()); *container = detach_from(this->shim().CreateContainer(*reinterpret_cast(&name), *reinterpret_cast(&disposition))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteContainer(void* name) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DeleteContainer(*reinterpret_cast(&name)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Current(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Current()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForUserAsync(void* user, void** getForUserOperation) noexcept final try { clear_abi(getForUserOperation); typename D::abi_guard guard(this->shim()); *getForUserOperation = detach_from>(this->shim().GetForUserAsync(*reinterpret_cast(&user))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall DeferUpdates(void* file) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DeferUpdates(*reinterpret_cast(&file)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CompleteUpdatesAsync(void* file, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CompleteUpdatesAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateFileAsync(void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderAsync(void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileWithCollisionOptionAsync(void* desiredName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderWithCollisionOptionAsync(void* desiredName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateFileForUserAsync(void* user, void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderForUserAsync(void* user, void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileForUserWithCollisionOptionAsync(void* user, void* desiredName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderForUserWithCollisionOptionAsync(void* user, void* desiredName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadTextAsync(void* file, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from>(this->shim().ReadTextAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadTextWithEncodingAsync(void* file, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from>(this->shim().ReadTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteTextAsync(void* file, void* contents, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().WriteTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteTextWithEncodingAsync(void* file, void* contents, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().WriteTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendTextAsync(void* file, void* contents, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().AppendTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendTextWithEncodingAsync(void* file, void* contents, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().AppendTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadLinesAsync(void* file, void** linesOperation) noexcept final try { clear_abi(linesOperation); typename D::abi_guard guard(this->shim()); *linesOperation = detach_from>>(this->shim().ReadLinesAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadLinesWithEncodingAsync(void* file, int32_t encoding, void** linesOperation) noexcept final try { clear_abi(linesOperation); typename D::abi_guard guard(this->shim()); *linesOperation = detach_from>>(this->shim().ReadLinesAsync(*reinterpret_cast(&file), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteLinesAsync(void* file, void* lines, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteLinesAsync(*reinterpret_cast(&file), *reinterpret_cast const*>(&lines))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteLinesWithEncodingAsync(void* file, void* lines, int32_t encoding, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteLinesAsync(*reinterpret_cast(&file), *reinterpret_cast const*>(&lines), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendLinesAsync(void* file, void* lines, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().AppendLinesAsync(*reinterpret_cast(&file), *reinterpret_cast const*>(&lines))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendLinesWithEncodingAsync(void* file, void* lines, int32_t encoding, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().AppendLinesAsync(*reinterpret_cast(&file), *reinterpret_cast const*>(&lines), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadBufferAsync(void* file, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ReadBufferAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteBufferAsync(void* file, void* buffer, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteBufferAsync(*reinterpret_cast(&file), *reinterpret_cast(&buffer))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteBytesAsync(void* file, uint32_t __bufferSize, uint8_t* buffer, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteBytesAsync(*reinterpret_cast(&file), array_view(reinterpret_cast(buffer), reinterpret_cast(buffer) + __bufferSize))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CameraRoll(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CameraRoll()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Playlists(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Playlists()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SavedPictures(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SavedPictures()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MusicLibrary(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MusicLibrary()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PicturesLibrary(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PicturesLibrary()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VideosLibrary(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VideosLibrary()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DocumentsLibrary(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DocumentsLibrary()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HomeGroup(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HomeGroup()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RemovableDevices(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RemovableDevices()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaServerDevices(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaServerDevices()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Objects3D(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Objects3D()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AppCaptures(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AppCaptures()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RecordedCalls(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RecordedCalls()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFolderForUserAsync(void* user, int32_t folderId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFolderForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&folderId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RequestAccessAsync(int32_t folderId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().RequestAccessAsync(*reinterpret_cast(&folderId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestAccessForUserAsync(void* user, int32_t folderId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().RequestAccessForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&folderId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFolderAsync(int32_t folderId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFolderAsync(*reinterpret_cast(&folderId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadTextAsync(void* absolutePath, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from>(this->shim().ReadTextAsync(*reinterpret_cast(&absolutePath))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadTextWithEncodingAsync(void* absolutePath, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from>(this->shim().ReadTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteTextAsync(void* absolutePath, void* contents, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().WriteTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteTextWithEncodingAsync(void* absolutePath, void* contents, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().WriteTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendTextAsync(void* absolutePath, void* contents, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().AppendTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendTextWithEncodingAsync(void* absolutePath, void* contents, int32_t encoding, void** textOperation) noexcept final try { clear_abi(textOperation); typename D::abi_guard guard(this->shim()); *textOperation = detach_from(this->shim().AppendTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadLinesAsync(void* absolutePath, void** linesOperation) noexcept final try { clear_abi(linesOperation); typename D::abi_guard guard(this->shim()); *linesOperation = detach_from>>(this->shim().ReadLinesAsync(*reinterpret_cast(&absolutePath))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadLinesWithEncodingAsync(void* absolutePath, int32_t encoding, void** linesOperation) noexcept final try { clear_abi(linesOperation); typename D::abi_guard guard(this->shim()); *linesOperation = detach_from>>(this->shim().ReadLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteLinesAsync(void* absolutePath, void* lines, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast const*>(&lines))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteLinesWithEncodingAsync(void* absolutePath, void* lines, int32_t encoding, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast const*>(&lines), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendLinesAsync(void* absolutePath, void* lines, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().AppendLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast const*>(&lines))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AppendLinesWithEncodingAsync(void* absolutePath, void* lines, int32_t encoding, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().AppendLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast const*>(&lines), *reinterpret_cast(&encoding))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadBufferAsync(void* absolutePath, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ReadBufferAsync(*reinterpret_cast(&absolutePath))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteBufferAsync(void* absolutePath, void* buffer, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteBufferAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&buffer))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WriteBytesAsync(void* absolutePath, uint32_t __bufferSize, uint8_t* buffer, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().WriteBytesAsync(*reinterpret_cast(&absolutePath), array_view(reinterpret_cast(buffer), reinterpret_cast(buffer) + __bufferSize))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Complete() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Complete(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CurrentVersion(uint32_t* currentVersion) noexcept final try { typename D::abi_guard guard(this->shim()); *currentVersion = detach_from(this->shim().CurrentVersion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DesiredVersion(uint32_t* desiredVersion) noexcept final try { typename D::abi_guard guard(this->shim()); *desiredVersion = detach_from(this->shim().DesiredVersion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDeferral(void** deferral) noexcept final try { clear_abi(deferral); typename D::abi_guard guard(this->shim()); *deferral = detach_from(this->shim().GetDeferral()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_FileType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FileType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContentType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContentType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OpenAsync(int32_t accessMode, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().OpenAsync(*reinterpret_cast(&accessMode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OpenTransactedWriteAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().OpenTransactedWriteAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyOverloadDefaultNameAndOptions(void* destinationFolder, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyOverloadDefaultOptions(void* destinationFolder, void* desiredNewName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyOverload(void* destinationFolder, void* desiredNewName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyAndReplaceAsync(void* fileToReplace, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().CopyAndReplaceAsync(*reinterpret_cast(&fileToReplace))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveOverloadDefaultNameAndOptions(void* destinationFolder, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveOverloadDefaultOptions(void* destinationFolder, void* desiredNewName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveOverload(void* destinationFolder, void* desiredNewName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveAndReplaceAsync(void* fileToReplace, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().MoveAndReplaceAsync(*reinterpret_cast(&fileToReplace))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall OpenWithOptionsAsync(int32_t accessMode, uint32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().OpenAsync(*reinterpret_cast(&accessMode), *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OpenTransactedWriteWithOptionsAsync(uint32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().OpenTransactedWriteAsync(*reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_IsAvailable(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsAvailable()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFileFromPathAsync(void* path, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFileFromPathAsync(*reinterpret_cast(&path))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFileFromApplicationUriAsync(void* uri, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFileFromApplicationUriAsync(*reinterpret_cast(&uri))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateStreamedFileAsync(void* displayNameWithExtension, void* dataRequested, void* thumbnail, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateStreamedFileAsync(*reinterpret_cast(&displayNameWithExtension), *reinterpret_cast(&dataRequested), *reinterpret_cast(&thumbnail))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReplaceWithStreamedFileAsync(void* fileToReplace, void* dataRequested, void* thumbnail, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ReplaceWithStreamedFileAsync(*reinterpret_cast(&fileToReplace), *reinterpret_cast(&dataRequested), *reinterpret_cast(&thumbnail))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateStreamedFileFromUriAsync(void* displayNameWithExtension, void* uri, void* thumbnail, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateStreamedFileFromUriAsync(*reinterpret_cast(&displayNameWithExtension), *reinterpret_cast(&uri), *reinterpret_cast(&thumbnail))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReplaceWithStreamedFileFromUriAsync(void* fileToReplace, void* uri, void* thumbnail, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ReplaceWithStreamedFileFromUriAsync(*reinterpret_cast(&fileToReplace), *reinterpret_cast(&uri), *reinterpret_cast(&thumbnail))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFileFromPathForUserAsync(void* user, void* path, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFileFromPathForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&path))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall CreateFileAsyncOverloadDefaultOptions(void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileAsync(void* desiredName, int32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName), *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderAsyncOverloadDefaultOptions(void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFolderAsync(void* desiredName, int32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName), *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFileAsync(void* name, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFileAsync(*reinterpret_cast(&name))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFolderAsync(void* name, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFolderAsync(*reinterpret_cast(&name))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetItemAsync(void* name, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetItemAsync(*reinterpret_cast(&name))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFilesAsyncOverloadDefaultOptionsStartAndCount(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetFilesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFoldersAsyncOverloadDefaultOptionsStartAndCount(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetFoldersAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetItemsAsyncOverloadDefaultStartAndCount(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetItemsAsync()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall TryGetItemAsync(void* name, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().TryGetItemAsync(*reinterpret_cast(&name))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetChangeTracker(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryGetChangeTracker()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFolderFromPathAsync(void* path, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFolderFromPathAsync(*reinterpret_cast(&path))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFolderFromPathForUserAsync(void* user, void* path, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetFolderFromPathForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&path))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall RenameAsyncOverloadDefaultOptions(void* desiredName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().RenameAsync(*reinterpret_cast(&desiredName))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RenameAsync(void* desiredName, int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().RenameAsync(*reinterpret_cast(&desiredName), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteAsyncOverloadDefaultOptions(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().DeleteAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteAsync(int32_t option, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().DeleteAsync(*reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetBasicPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetBasicPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Name(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Name()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Path(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Path()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Attributes(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Attributes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DateCreated(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DateCreated()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsOfType(uint32_t type, bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsOfType(*reinterpret_cast(&type))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetParentAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetParentAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsEqual(void* item, bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsEqual(*reinterpret_cast(&item))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(int32_t mode, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetThumbnailAsync(*reinterpret_cast(&mode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetThumbnailAsyncOverloadDefaultOptions(int32_t mode, uint32_t requestedSize, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetThumbnailAsync(*reinterpret_cast(&mode), requestedSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetThumbnailAsync(int32_t mode, uint32_t requestedSize, uint32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetThumbnailAsync(*reinterpret_cast(&mode), requestedSize, *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FolderRelativeId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FolderRelativeId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Properties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Properties()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(int32_t mode, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetScaledImageAsThumbnailAsync(*reinterpret_cast(&mode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(int32_t mode, uint32_t requestedSize, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetScaledImageAsThumbnailAsync(*reinterpret_cast(&mode), requestedSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetScaledImageAsThumbnailAsync(int32_t mode, uint32_t requestedSize, uint32_t options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetScaledImageAsThumbnailAsync(*reinterpret_cast(&mode), requestedSize, *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_Provider(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Provider()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RequestAddFolderAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().RequestAddFolderAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestRemoveFolderAsync(void* folder, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().RequestRemoveFolderAsync(*reinterpret_cast(&folder))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Folders(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Folders()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SaveFolder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SaveFolder()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_DefinitionChanged(void* handler, winrt::event_token* eventCookie) noexcept final try { zero_abi(eventCookie); typename D::abi_guard guard(this->shim()); *eventCookie = detach_from(this->shim().DefinitionChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_DefinitionChanged(winrt::event_token eventCookie) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().DefinitionChanged(*reinterpret_cast(&eventCookie)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChangeTracker(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChangeTracker()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall AreFolderSuggestionsAvailableAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().AreFolderSuggestionsAvailableAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChangeType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChangeType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Path(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Path()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PreviousPath(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PreviousPath()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsOfType(uint32_t type, bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsOfType(*reinterpret_cast(&type))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetStorageItemAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetStorageItemAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadBatchAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().ReadBatchAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptChangesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().AcceptChangesAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetLastChangeId(uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetLastChangeId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetChangeReader(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetChangeReader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Enable() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Enable(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Reset() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Reset(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall EnableWithOptions(void* options) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Enable(*reinterpret_cast(&options)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Disable() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Disable(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_TrackChangeDetails(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TrackChangeDetails()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TrackChangeDetails(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TrackChangeDetails(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Unknown(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Unknown()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetLibraryAsync(int32_t libraryId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetLibraryAsync(*reinterpret_cast(&libraryId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetLibraryForUserAsync(void* user, int32_t libraryId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetLibraryForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&libraryId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayName()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall IsPropertySupportedForPartialFileAsync(void* propertyCanonicalName, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().IsPropertySupportedForPartialFileAsync(*reinterpret_cast(&propertyCanonicalName))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Stream(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Stream()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CommitAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().CommitAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall FailAndClose(int32_t failureMode) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FailAndClose(*reinterpret_cast(&failureMode)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_EncodingBitrate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncodingBitrate()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Fonts(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Fonts()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProgramData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProgramData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Public(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Public()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicDesktop(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicDesktop()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicDocuments(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicDocuments()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicDownloads(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicDownloads()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicMusic(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicMusic()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicPictures(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicPictures()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublicVideos(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PublicVideos()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_System(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().System()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SystemHost(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SystemHost()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SystemX86(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SystemX86()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SystemX64(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SystemX64()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SystemArm(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SystemArm()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UserProfiles(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UserProfiles()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Windows(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Windows()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetDefault(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDefault()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_LatitudeDecimal(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LatitudeDecimal()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LongitudeDecimal(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LongitudeDecimal()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HorizontalSize(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HorizontalSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VerticalSize(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VerticalSize()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Duration(void** value) noexcept final try { clear_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_Producer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Producer()); 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 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 get_Writer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Writer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Year(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Year()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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 get_AlbumTitle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlbumTitle()); 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 get_Composer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Composer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Conductor(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Conductor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayArtist(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayArtist()); 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(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TrackNumber()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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 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 get_DateTaken(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DateTaken()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Orientation(void** value) noexcept final try { clear_abi(value); 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_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_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 get_ItemNameDisplay(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ItemNameDisplay()); 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_Rating(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Rating()); 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 get_Audio(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Audio()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GPS(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GPS()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Media(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Media()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Music(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Music()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Photo(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Photo()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Video(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Video()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Image(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Image()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Director(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Director()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FrameHeight(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FrameHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FrameWidth(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FrameWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Orientation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TotalBitrate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TotalBitrate()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CameraRoll(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CameraRoll()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Cookies(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Cookies()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Desktop(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Desktop()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Documents(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Documents()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Downloads(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Downloads()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Favorites(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Favorites()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_History(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().History()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InternetCache(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InternetCache()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LocalAppData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalAppData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LocalAppDataLow(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalAppDataLow()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Music(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Music()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Pictures(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Pictures()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Profile(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Profile()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Recent(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Recent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoamingAppData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoamingAppData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SavedPictures(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SavedPictures()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Screenshots(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Screenshots()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Templates(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Templates()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Videos(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Videos()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForUser(void* user, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetForUser(*reinterpret_cast(&user))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDefault(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDefault()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Storage { constexpr auto operator|(FileAttributes const left, FileAttributes const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(FileAttributes& left, FileAttributes const right) noexcept { left = left | right; return left; } constexpr auto operator&(FileAttributes const left, FileAttributes const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(FileAttributes& left, FileAttributes const right) noexcept { left = left & right; return left; } constexpr auto operator~(FileAttributes const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(FileAttributes const left, FileAttributes const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(FileAttributes& left, FileAttributes const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(StorageItemTypes const left, StorageItemTypes const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(StorageItemTypes& left, StorageItemTypes const right) noexcept { left = left | right; return left; } constexpr auto operator&(StorageItemTypes const left, StorageItemTypes const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(StorageItemTypes& left, StorageItemTypes const right) noexcept { left = left & right; return left; } constexpr auto operator~(StorageItemTypes const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(StorageItemTypes const left, StorageItemTypes const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(StorageItemTypes& left, StorageItemTypes const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(StorageOpenOptions const left, StorageOpenOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(StorageOpenOptions& left, StorageOpenOptions const right) noexcept { left = left | right; return left; } constexpr auto operator&(StorageOpenOptions const left, StorageOpenOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(StorageOpenOptions& left, StorageOpenOptions const right) noexcept { left = left & right; return left; } constexpr auto operator~(StorageOpenOptions const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(StorageOpenOptions const left, StorageOpenOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(StorageOpenOptions& left, StorageOpenOptions const right) noexcept { left = left ^ right; return left; } inline auto AppDataPaths::GetForUser(winrt::Windows::System::User const& user) { return impl::call_factory([&](IAppDataPathsStatics const& f) { return f.GetForUser(user); }); } inline auto AppDataPaths::GetDefault() { return impl::call_factory_cast([](IAppDataPathsStatics const& f) { return f.GetDefault(); }); } inline auto ApplicationData::Current() { return impl::call_factory_cast([](IApplicationDataStatics const& f) { return f.Current(); }); } inline auto ApplicationData::GetForUserAsync(winrt::Windows::System::User const& user) { return impl::call_factory([&](IApplicationDataStatics2 const& f) { return f.GetForUserAsync(user); }); } inline ApplicationDataCompositeValue::ApplicationDataCompositeValue() : ApplicationDataCompositeValue(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto CachedFileManager::DeferUpdates(winrt::Windows::Storage::IStorageFile const& file) { impl::call_factory([&](ICachedFileManagerStatics const& f) { return f.DeferUpdates(file); }); } inline auto CachedFileManager::CompleteUpdatesAsync(winrt::Windows::Storage::IStorageFile const& file) { return impl::call_factory([&](ICachedFileManagerStatics const& f) { return f.CompleteUpdatesAsync(file); }); } inline auto DownloadsFolder::CreateFileAsync(param::hstring const& desiredName) { return impl::call_factory([&](IDownloadsFolderStatics const& f) { return f.CreateFileAsync(desiredName); }); } inline auto DownloadsFolder::CreateFolderAsync(param::hstring const& desiredName) { return impl::call_factory([&](IDownloadsFolderStatics const& f) { return f.CreateFolderAsync(desiredName); }); } inline auto DownloadsFolder::CreateFileAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) { return impl::call_factory([&](IDownloadsFolderStatics const& f) { return f.CreateFileAsync(desiredName, option); }); } inline auto DownloadsFolder::CreateFolderAsync(param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) { return impl::call_factory([&](IDownloadsFolderStatics const& f) { return f.CreateFolderAsync(desiredName, option); }); } inline auto DownloadsFolder::CreateFileForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName) { return impl::call_factory([&](IDownloadsFolderStatics2 const& f) { return f.CreateFileForUserAsync(user, desiredName); }); } inline auto DownloadsFolder::CreateFolderForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName) { return impl::call_factory([&](IDownloadsFolderStatics2 const& f) { return f.CreateFolderForUserAsync(user, desiredName); }); } inline auto DownloadsFolder::CreateFileForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) { return impl::call_factory([&](IDownloadsFolderStatics2 const& f) { return f.CreateFileForUserAsync(user, desiredName, option); }); } inline auto DownloadsFolder::CreateFolderForUserAsync(winrt::Windows::System::User const& user, param::hstring const& desiredName, winrt::Windows::Storage::CreationCollisionOption const& option) { return impl::call_factory([&](IDownloadsFolderStatics2 const& f) { return f.CreateFolderForUserAsync(user, desiredName, option); }); } inline auto FileIO::ReadTextAsync(winrt::Windows::Storage::IStorageFile const& file) { return impl::call_factory([&](IFileIOStatics const& f) { return f.ReadTextAsync(file); }); } inline auto FileIO::ReadTextAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.ReadTextAsync(file, encoding); }); } inline auto FileIO::WriteTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteTextAsync(file, contents); }); } inline auto FileIO::WriteTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteTextAsync(file, contents, encoding); }); } inline auto FileIO::AppendTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents) { return impl::call_factory([&](IFileIOStatics const& f) { return f.AppendTextAsync(file, contents); }); } inline auto FileIO::AppendTextAsync(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.AppendTextAsync(file, contents, encoding); }); } inline auto FileIO::ReadLinesAsync(winrt::Windows::Storage::IStorageFile const& file) { return impl::call_factory([&](IFileIOStatics const& f) { return f.ReadLinesAsync(file); }); } inline auto FileIO::ReadLinesAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.ReadLinesAsync(file, encoding); }); } inline auto FileIO::WriteLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteLinesAsync(file, lines); }); } inline auto FileIO::WriteLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteLinesAsync(file, lines, encoding); }); } inline auto FileIO::AppendLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines) { return impl::call_factory([&](IFileIOStatics const& f) { return f.AppendLinesAsync(file, lines); }); } inline auto FileIO::AppendLinesAsync(winrt::Windows::Storage::IStorageFile const& file, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IFileIOStatics const& f) { return f.AppendLinesAsync(file, lines, encoding); }); } inline auto FileIO::ReadBufferAsync(winrt::Windows::Storage::IStorageFile const& file) { return impl::call_factory([&](IFileIOStatics const& f) { return f.ReadBufferAsync(file); }); } inline auto FileIO::WriteBufferAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Storage::Streams::IBuffer const& buffer) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteBufferAsync(file, buffer); }); } inline auto FileIO::WriteBytesAsync(winrt::Windows::Storage::IStorageFile const& file, array_view buffer) { return impl::call_factory([&](IFileIOStatics const& f) { return f.WriteBytesAsync(file, buffer); }); } inline auto KnownFolders::CameraRoll() { return impl::call_factory_cast([](IKnownFoldersCameraRollStatics const& f) { return f.CameraRoll(); }); } inline auto KnownFolders::Playlists() { return impl::call_factory_cast([](IKnownFoldersPlaylistsStatics const& f) { return f.Playlists(); }); } inline auto KnownFolders::SavedPictures() { return impl::call_factory_cast([](IKnownFoldersSavedPicturesStatics const& f) { return f.SavedPictures(); }); } inline auto KnownFolders::MusicLibrary() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.MusicLibrary(); }); } inline auto KnownFolders::PicturesLibrary() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.PicturesLibrary(); }); } inline auto KnownFolders::VideosLibrary() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.VideosLibrary(); }); } inline auto KnownFolders::DocumentsLibrary() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.DocumentsLibrary(); }); } inline auto KnownFolders::HomeGroup() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.HomeGroup(); }); } inline auto KnownFolders::RemovableDevices() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.RemovableDevices(); }); } inline auto KnownFolders::MediaServerDevices() { return impl::call_factory_cast([](IKnownFoldersStatics const& f) { return f.MediaServerDevices(); }); } inline auto KnownFolders::Objects3D() { return impl::call_factory_cast([](IKnownFoldersStatics2 const& f) { return f.Objects3D(); }); } inline auto KnownFolders::AppCaptures() { return impl::call_factory_cast([](IKnownFoldersStatics2 const& f) { return f.AppCaptures(); }); } inline auto KnownFolders::RecordedCalls() { return impl::call_factory_cast([](IKnownFoldersStatics2 const& f) { return f.RecordedCalls(); }); } inline auto KnownFolders::GetFolderForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownFolderId const& folderId) { return impl::call_factory([&](IKnownFoldersStatics3 const& f) { return f.GetFolderForUserAsync(user, folderId); }); } inline auto KnownFolders::RequestAccessAsync(winrt::Windows::Storage::KnownFolderId const& folderId) { return impl::call_factory([&](IKnownFoldersStatics4 const& f) { return f.RequestAccessAsync(folderId); }); } inline auto KnownFolders::RequestAccessForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownFolderId const& folderId) { return impl::call_factory([&](IKnownFoldersStatics4 const& f) { return f.RequestAccessForUserAsync(user, folderId); }); } inline auto KnownFolders::GetFolderAsync(winrt::Windows::Storage::KnownFolderId const& folderId) { return impl::call_factory([&](IKnownFoldersStatics4 const& f) { return f.GetFolderAsync(folderId); }); } inline auto PathIO::ReadTextAsync(param::hstring const& absolutePath) { return impl::call_factory([&](IPathIOStatics const& f) { return f.ReadTextAsync(absolutePath); }); } inline auto PathIO::ReadTextAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.ReadTextAsync(absolutePath, encoding); }); } inline auto PathIO::WriteTextAsync(param::hstring const& absolutePath, param::hstring const& contents) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteTextAsync(absolutePath, contents); }); } inline auto PathIO::WriteTextAsync(param::hstring const& absolutePath, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteTextAsync(absolutePath, contents, encoding); }); } inline auto PathIO::AppendTextAsync(param::hstring const& absolutePath, param::hstring const& contents) { return impl::call_factory([&](IPathIOStatics const& f) { return f.AppendTextAsync(absolutePath, contents); }); } inline auto PathIO::AppendTextAsync(param::hstring const& absolutePath, param::hstring const& contents, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.AppendTextAsync(absolutePath, contents, encoding); }); } inline auto PathIO::ReadLinesAsync(param::hstring const& absolutePath) { return impl::call_factory([&](IPathIOStatics const& f) { return f.ReadLinesAsync(absolutePath); }); } inline auto PathIO::ReadLinesAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.ReadLinesAsync(absolutePath, encoding); }); } inline auto PathIO::WriteLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteLinesAsync(absolutePath, lines); }); } inline auto PathIO::WriteLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteLinesAsync(absolutePath, lines, encoding); }); } inline auto PathIO::AppendLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines) { return impl::call_factory([&](IPathIOStatics const& f) { return f.AppendLinesAsync(absolutePath, lines); }); } inline auto PathIO::AppendLinesAsync(param::hstring const& absolutePath, param::async_iterable const& lines, winrt::Windows::Storage::Streams::UnicodeEncoding const& encoding) { return impl::call_factory([&](IPathIOStatics const& f) { return f.AppendLinesAsync(absolutePath, lines, encoding); }); } inline auto PathIO::ReadBufferAsync(param::hstring const& absolutePath) { return impl::call_factory([&](IPathIOStatics const& f) { return f.ReadBufferAsync(absolutePath); }); } inline auto PathIO::WriteBufferAsync(param::hstring const& absolutePath, winrt::Windows::Storage::Streams::IBuffer const& buffer) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteBufferAsync(absolutePath, buffer); }); } inline auto PathIO::WriteBytesAsync(param::hstring const& absolutePath, array_view buffer) { return impl::call_factory([&](IPathIOStatics const& f) { return f.WriteBytesAsync(absolutePath, buffer); }); } inline auto StorageFile::GetFileFromPathAsync(param::hstring const& path) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.GetFileFromPathAsync(path); }); } inline auto StorageFile::GetFileFromApplicationUriAsync(winrt::Windows::Foundation::Uri const& uri) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.GetFileFromApplicationUriAsync(uri); }); } inline auto StorageFile::CreateStreamedFileAsync(param::hstring const& displayNameWithExtension, winrt::Windows::Storage::StreamedFileDataRequestedHandler const& dataRequested, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.CreateStreamedFileAsync(displayNameWithExtension, dataRequested, thumbnail); }); } inline auto StorageFile::ReplaceWithStreamedFileAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace, winrt::Windows::Storage::StreamedFileDataRequestedHandler const& dataRequested, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.ReplaceWithStreamedFileAsync(fileToReplace, dataRequested, thumbnail); }); } inline auto StorageFile::CreateStreamedFileFromUriAsync(param::hstring const& displayNameWithExtension, winrt::Windows::Foundation::Uri const& uri, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.CreateStreamedFileFromUriAsync(displayNameWithExtension, uri, thumbnail); }); } inline auto StorageFile::ReplaceWithStreamedFileFromUriAsync(winrt::Windows::Storage::IStorageFile const& fileToReplace, winrt::Windows::Foundation::Uri const& uri, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& thumbnail) { return impl::call_factory([&](IStorageFileStatics const& f) { return f.ReplaceWithStreamedFileFromUriAsync(fileToReplace, uri, thumbnail); }); } inline auto StorageFile::GetFileFromPathForUserAsync(winrt::Windows::System::User const& user, param::hstring const& path) { return impl::call_factory([&](IStorageFileStatics2 const& f) { return f.GetFileFromPathForUserAsync(user, path); }); } inline auto StorageFolder::GetFolderFromPathAsync(param::hstring const& path) { return impl::call_factory([&](IStorageFolderStatics const& f) { return f.GetFolderFromPathAsync(path); }); } inline auto StorageFolder::GetFolderFromPathForUserAsync(winrt::Windows::System::User const& user, param::hstring const& path) { return impl::call_factory([&](IStorageFolderStatics2 const& f) { return f.GetFolderFromPathForUserAsync(user, path); }); } inline auto StorageLibrary::GetLibraryAsync(winrt::Windows::Storage::KnownLibraryId const& libraryId) { return impl::call_factory([&](IStorageLibraryStatics const& f) { return f.GetLibraryAsync(libraryId); }); } inline auto StorageLibrary::GetLibraryForUserAsync(winrt::Windows::System::User const& user, winrt::Windows::Storage::KnownLibraryId const& libraryId) { return impl::call_factory([&](IStorageLibraryStatics2 const& f) { return f.GetLibraryForUserAsync(user, libraryId); }); } inline StorageLibraryChangeTrackerOptions::StorageLibraryChangeTrackerOptions() : StorageLibraryChangeTrackerOptions(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto StorageLibraryLastChangeId::Unknown() { return impl::call_factory_cast([](IStorageLibraryLastChangeIdStatics const& f) { return f.Unknown(); }); } inline auto SystemDataPaths::GetDefault() { return impl::call_factory_cast([](ISystemDataPathsStatics const& f) { return f.GetDefault(); }); } inline auto SystemProperties::Author() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Author(); }); } inline auto SystemProperties::Comment() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Comment(); }); } inline auto SystemProperties::ItemNameDisplay() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.ItemNameDisplay(); }); } inline auto SystemProperties::Keywords() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Keywords(); }); } inline auto SystemProperties::Rating() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Rating(); }); } inline auto SystemProperties::Title() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Title(); }); } inline auto SystemProperties::Audio() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Audio(); }); } inline auto SystemProperties::GPS() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.GPS(); }); } inline auto SystemProperties::Media() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Media(); }); } inline auto SystemProperties::Music() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Music(); }); } inline auto SystemProperties::Photo() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Photo(); }); } inline auto SystemProperties::Video() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Video(); }); } inline auto SystemProperties::Image() { return impl::call_factory_cast([](ISystemProperties const& f) { return f.Image(); }); } inline auto UserDataPaths::GetForUser(winrt::Windows::System::User const& user) { return impl::call_factory([&](IUserDataPathsStatics const& f) { return f.GetForUser(user); }); } inline auto UserDataPaths::GetDefault() { return impl::call_factory_cast([](IUserDataPathsStatics const& f) { return f.GetDefault(); }); } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(L handler) : ApplicationDataSetVersionHandler(impl::make_delegate(std::forward(handler))) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(F* handler) : ApplicationDataSetVersionHandler([=](auto&&... args) { return handler(args...); }) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(O* object, M method) : ApplicationDataSetVersionHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(com_ptr&& object, M method) : ApplicationDataSetVersionHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(weak_ref&& object, LM&& lambda_or_method) : ApplicationDataSetVersionHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.get()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(std::shared_ptr&& object, M method) : ApplicationDataSetVersionHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(std::weak_ptr&& object, LM&& lambda_or_method) : ApplicationDataSetVersionHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.lock()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } inline auto ApplicationDataSetVersionHandler::operator()(winrt::Windows::Storage::SetVersionRequest const& setVersionRequest) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&setVersionRequest))); } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(L handler) : StreamedFileDataRequestedHandler(impl::make_delegate(std::forward(handler))) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(F* handler) : StreamedFileDataRequestedHandler([=](auto&&... args) { return handler(args...); }) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(O* object, M method) : StreamedFileDataRequestedHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(com_ptr&& object, M method) : StreamedFileDataRequestedHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(weak_ref&& object, LM&& lambda_or_method) : StreamedFileDataRequestedHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.get()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(std::shared_ptr&& object, M method) : StreamedFileDataRequestedHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(std::weak_ptr&& object, LM&& lambda_or_method) : StreamedFileDataRequestedHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.lock()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } inline auto StreamedFileDataRequestedHandler::operator()(winrt::Windows::Storage::StreamedFileDataRequest const& stream) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&stream))); } } 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 {}; 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 {}; 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 {}; 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 {}; 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 {}; 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