// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Storage_Provider_H #define WINRT_Windows_Storage_Provider_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.Storage.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Storage.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.UI.2.h" #include "winrt/impl/Windows.Storage.Provider.2.h" namespace winrt::impl { template auto consume_Windows_Storage_Provider_ICachedFileUpdaterStatics::SetUpdateInformation(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contentId, winrt::Windows::Storage::Provider::ReadActivationMode const& readMode, winrt::Windows::Storage::Provider::WriteActivationMode const& writeMode, winrt::Windows::Storage::Provider::CachedFileOptions const& options) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterStatics)->SetUpdateInformation(*(void**)(&file), *(void**)(&contentId), static_cast(readMode), static_cast(writeMode), static_cast(options))); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::Title(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->put_Title(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::UpdateTarget() const { winrt::Windows::Storage::Provider::CachedFileTarget value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->get_UpdateTarget(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::FileUpdateRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->add_FileUpdateRequested(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::FileUpdateRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, FileUpdateRequested(handler)); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::FileUpdateRequested(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->remove_FileUpdateRequested(impl::bind_in(token)); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::UIRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->add_UIRequested(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::UIRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, UIRequested(handler)); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::UIRequested(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->remove_UIRequested(impl::bind_in(token)); } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI::UIStatus() const { winrt::Windows::Storage::Provider::UIStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI)->get_UIStatus(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI2::UpdateRequest() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI2)->get_UpdateRequest(&value)); return winrt::Windows::Storage::Provider::FileUpdateRequest{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_ICachedFileUpdaterUI2::GetDeferral() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::ICachedFileUpdaterUI2)->GetDeferral(&value)); return winrt::Windows::Storage::Provider::FileUpdateRequestDeferral{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::ContentId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->get_ContentId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::File() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->get_File(&value)); return winrt::Windows::Storage::StorageFile{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::Status() const { winrt::Windows::Storage::Provider::FileUpdateStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::Status(winrt::Windows::Storage::Provider::FileUpdateStatus const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->put_Status(static_cast(value))); } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::GetDeferral() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->GetDeferral(&value)); return winrt::Windows::Storage::Provider::FileUpdateRequestDeferral{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest::UpdateLocalFile(winrt::Windows::Storage::IStorageFile const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest)->UpdateLocalFile(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IFileUpdateRequest2::UserInputNeededMessage() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest2)->get_UserInputNeededMessage(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IFileUpdateRequest2::UserInputNeededMessage(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequest2)->put_UserInputNeededMessage(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IFileUpdateRequestDeferral::Complete() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequestDeferral)->Complete()); } template auto consume_Windows_Storage_Provider_IFileUpdateRequestedEventArgs::Request() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IFileUpdateRequestedEventArgs)->get_Request(&value)); return winrt::Windows::Storage::Provider::FileUpdateRequest{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderFileTypeInfo::FileExtension() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderFileTypeInfo)->get_FileExtension(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderFileTypeInfo::IconResource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderFileTypeInfo)->get_IconResource(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderFileTypeInfoFactory::CreateInstance(param::hstring const& fileExtension, param::hstring const& iconResource) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderFileTypeInfoFactory)->CreateInstance(*(void**)(&fileExtension), *(void**)(&iconResource), &value)); return winrt::Windows::Storage::Provider::StorageProviderFileTypeInfo{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::Status() const { winrt::Windows::Storage::Provider::StorageProviderUriSourceStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::Status(winrt::Windows::Storage::Provider::StorageProviderUriSourceStatus const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->put_Status(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::ContentUri() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->get_ContentUri(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::ContentUri(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->put_ContentUri(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::ContentId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->get_ContentId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderGetContentInfoForPathResult::ContentId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult)->put_ContentId(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderGetPathForContentUriResult::Status() const { winrt::Windows::Storage::Provider::StorageProviderUriSourceStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderGetPathForContentUriResult::Status(winrt::Windows::Storage::Provider::StorageProviderUriSourceStatus const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult)->put_Status(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderGetPathForContentUriResult::Path() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult)->get_Path(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderGetPathForContentUriResult::Path(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult)->put_Path(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertiesStatics::SetAsync(winrt::Windows::Storage::IStorageItem const& item, param::async_iterable const& itemProperties) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertiesStatics)->SetAsync(*(void**)(&item), *(void**)(&itemProperties), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::Id(int32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->put_Id(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::Id() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->get_Id(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::Value(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->put_Value(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::Value() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->get_Value(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::IconResource(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->put_IconResource(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderItemProperty::IconResource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemProperty)->get_IconResource(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertyDefinition::Id() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition)->get_Id(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertyDefinition::Id(int32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition)->put_Id(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertyDefinition::DisplayNameResource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition)->get_DisplayNameResource(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertyDefinition::DisplayNameResource(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition)->put_DisplayNameResource(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderItemPropertySource::GetItemProperties(param::hstring const& itemPath) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderItemPropertySource)->GetItemProperties(*(void**)(&itemPath), &result)); return winrt::Windows::Foundation::Collections::IIterable{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderEntry::KnownFolderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry)->get_KnownFolderId(put_abi(value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderEntry::KnownFolderId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry)->put_KnownFolderId(impl::bind_in(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderEntry::Status() const { winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderEntry::Status(winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncStatus const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry)->put_Status(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfo::ProviderDisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo)->get_ProviderDisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfo::ProviderDisplayName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo)->put_ProviderDisplayName(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfo::KnownFolderEntries() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo)->get_KnownFolderEntries(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfo::SyncRequested() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo)->get_SyncRequested(&value)); return winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncRequestedHandler{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfo::SyncRequested(winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncRequestedHandler const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo)->put_SyncRequested(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfoSource::GetKnownFolderSyncInfo() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfoSource)->GetKnownFolderSyncInfo(&result)); return winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncInfo{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfoSource::KnownFolderSyncInfoChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfoSource)->add_KnownFolderSyncInfoChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfoSource::KnownFolderSyncInfoChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, KnownFolderSyncInfoChanged(handler)); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfoSource::KnownFolderSyncInfoChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfoSource)->remove_KnownFolderSyncInfoChanged(impl::bind_in(token)); } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncInfoSourceFactory::GetKnownFolderSyncInfoSource() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfoSourceFactory)->GetKnownFolderSyncInfoSource(&result)); return winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfoSource{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncRequestArgs::KnownFolders() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncRequestArgs)->get_KnownFolders(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderKnownFolderSyncRequestArgs::Source() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncRequestArgs)->get_Source(&value)); return winrt::Windows::Storage::StorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderMoreInfoUI::Message() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI)->get_Message(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderMoreInfoUI::Message(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI)->put_Message(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderMoreInfoUI::Command() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI)->get_Command(&value)); return winrt::Windows::Storage::Provider::IStorageProviderUICommand{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderMoreInfoUI::Command(winrt::Windows::Storage::Provider::IStorageProviderUICommand const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI)->put_Command(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderPropertyCapabilities::IsPropertySupported(param::hstring const& propertyCanonicalName) const { bool isSupported{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderPropertyCapabilities)->IsPropertySupported(*(void**)(&propertyCanonicalName), &isSupported)); return isSupported; } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaTotalInBytes() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->get_QuotaTotalInBytes(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaTotalInBytes(uint64_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->put_QuotaTotalInBytes(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedInBytes() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->get_QuotaUsedInBytes(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedInBytes(uint64_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->put_QuotaUsedInBytes(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedLabel() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->get_QuotaUsedLabel(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedLabel(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->put_QuotaUsedLabel(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedColor() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->get_QuotaUsedColor(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderQuotaUI::QuotaUsedColor(winrt::Windows::Foundation::IReference const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderQuotaUI)->put_QuotaUsedColor(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderShareLinkSource::CreateLinkAsync(param::async_vector_view const& storageItemList) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderShareLinkSource)->CreateLinkAsync(*(void**)(&storageItemList), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderShareLinkSource::GetDefaultAccessControlStringAsync(param::async_vector_view const& storageItemList) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderShareLinkSource)->GetDefaultAccessControlStringAsync(*(void**)(&storageItemList), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderShareLinkSource::GetState(param::async_vector_view const& storageItemList) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderShareLinkSource)->GetState(*(void**)(&storageItemList), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderState() const { winrt::Windows::Storage::Provider::StorageProviderState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_ProviderState(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderState(winrt::Windows::Storage::Provider::StorageProviderState const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_ProviderState(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderStateLabel() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_ProviderStateLabel(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderStateLabel(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_ProviderStateLabel(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderStateIcon() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_ProviderStateIcon(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderStateIcon(winrt::Windows::Foundation::Uri const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_ProviderStateIcon(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::SyncStatusCommand() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_SyncStatusCommand(&value)); return winrt::Windows::Storage::Provider::IStorageProviderUICommand{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::SyncStatusCommand(winrt::Windows::Storage::Provider::IStorageProviderUICommand const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_SyncStatusCommand(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::QuotaUI() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_QuotaUI(&value)); return winrt::Windows::Storage::Provider::StorageProviderQuotaUI{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::QuotaUI(winrt::Windows::Storage::Provider::StorageProviderQuotaUI const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_QuotaUI(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::MoreInfoUI() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_MoreInfoUI(&value)); return winrt::Windows::Storage::Provider::StorageProviderMoreInfoUI{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::MoreInfoUI(winrt::Windows::Storage::Provider::StorageProviderMoreInfoUI const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_MoreInfoUI(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderPrimaryCommand() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_ProviderPrimaryCommand(&value)); return winrt::Windows::Storage::Provider::IStorageProviderUICommand{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderPrimaryCommand(winrt::Windows::Storage::Provider::IStorageProviderUICommand const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_ProviderPrimaryCommand(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderSecondaryCommands() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->get_ProviderSecondaryCommands(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUI::ProviderSecondaryCommands(param::vector const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUI)->put_ProviderSecondaryCommands(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUISource::GetStatusUI() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUISource)->GetStatusUI(&result)); return winrt::Windows::Storage::Provider::StorageProviderStatusUI{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUISource::StatusUIChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUISource)->add_StatusUIChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUISource::StatusUIChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, StatusUIChanged(handler)); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUISource::StatusUIChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUISource)->remove_StatusUIChanged(impl::bind_in(token)); } template auto consume_Windows_Storage_Provider_IStorageProviderStatusUISourceFactory::GetStatusUISource(param::hstring const& syncRootId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderStatusUISourceFactory)->GetStatusUISource(*(void**)(&syncRootId), &result)); return winrt::Windows::Storage::Provider::IStorageProviderStatusUISource{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Id(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_Id(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Context() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_Context(&value)); return winrt::Windows::Storage::Streams::IBuffer{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Context(winrt::Windows::Storage::Streams::IBuffer const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_Context(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Path() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_Path(&value)); return winrt::Windows::Storage::IStorageFolder{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Path(winrt::Windows::Storage::IStorageFolder const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_Path(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::DisplayNameResource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_DisplayNameResource(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::DisplayNameResource(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_DisplayNameResource(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::IconResource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_IconResource(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::IconResource(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_IconResource(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HydrationPolicy() const { winrt::Windows::Storage::Provider::StorageProviderHydrationPolicy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_HydrationPolicy(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HydrationPolicy(winrt::Windows::Storage::Provider::StorageProviderHydrationPolicy const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_HydrationPolicy(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HydrationPolicyModifier() const { winrt::Windows::Storage::Provider::StorageProviderHydrationPolicyModifier value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_HydrationPolicyModifier(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HydrationPolicyModifier(winrt::Windows::Storage::Provider::StorageProviderHydrationPolicyModifier const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_HydrationPolicyModifier(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::PopulationPolicy() const { winrt::Windows::Storage::Provider::StorageProviderPopulationPolicy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_PopulationPolicy(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::PopulationPolicy(winrt::Windows::Storage::Provider::StorageProviderPopulationPolicy const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_PopulationPolicy(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::InSyncPolicy() const { winrt::Windows::Storage::Provider::StorageProviderInSyncPolicy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_InSyncPolicy(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::InSyncPolicy(winrt::Windows::Storage::Provider::StorageProviderInSyncPolicy const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_InSyncPolicy(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HardlinkPolicy() const { winrt::Windows::Storage::Provider::StorageProviderHardlinkPolicy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_HardlinkPolicy(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::HardlinkPolicy(winrt::Windows::Storage::Provider::StorageProviderHardlinkPolicy const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_HardlinkPolicy(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::ShowSiblingsAsGroup() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_ShowSiblingsAsGroup(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::ShowSiblingsAsGroup(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_ShowSiblingsAsGroup(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Version() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_Version(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::Version(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_Version(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::ProtectionMode() const { winrt::Windows::Storage::Provider::StorageProviderProtectionMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_ProtectionMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::ProtectionMode(winrt::Windows::Storage::Provider::StorageProviderProtectionMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_ProtectionMode(static_cast(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::AllowPinning() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_AllowPinning(&value)); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::AllowPinning(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_AllowPinning(value)); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::StorageProviderItemPropertyDefinitions() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_StorageProviderItemPropertyDefinitions(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::RecycleBinUri() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->get_RecycleBinUri(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo::RecycleBinUri(winrt::Windows::Foundation::Uri const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo)->put_RecycleBinUri(*(void**)(&value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo2::ProviderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo2)->get_ProviderId(put_abi(value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo2::ProviderId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo2)->put_ProviderId(impl::bind_in(value))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootInfo3::FallbackFileTypeInfo() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo3)->get_FallbackFileTypeInfo(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics::Register(winrt::Windows::Storage::Provider::StorageProviderSyncRootInfo const& syncRootInformation) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics)->Register(*(void**)(&syncRootInformation))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics::Unregister(param::hstring const& id) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics)->Unregister(*(void**)(&id))); } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics::GetSyncRootInformationForFolder(winrt::Windows::Storage::IStorageFolder const& folder) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics)->GetSyncRootInformationForFolder(*(void**)(&folder), &result)); return winrt::Windows::Storage::Provider::StorageProviderSyncRootInfo{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics::GetSyncRootInformationForId(param::hstring const& id) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics)->GetSyncRootInformationForId(*(void**)(&id), &result)); return winrt::Windows::Storage::Provider::StorageProviderSyncRootInfo{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics::GetCurrentSyncRoots() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics)->GetCurrentSyncRoots(&result)); return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderSyncRootManagerStatics2::IsSupported() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderSyncRootManagerStatics2)->IsSupported(&result)); return result; } template auto consume_Windows_Storage_Provider_IStorageProviderUICommand::Label() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUICommand)->get_Label(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderUICommand::Description() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUICommand)->get_Description(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderUICommand::Icon() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUICommand)->get_Icon(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Storage_Provider_IStorageProviderUICommand::State() const { winrt::Windows::Storage::Provider::StorageProviderUICommandState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUICommand)->get_State(reinterpret_cast(&value))); return value; } template auto consume_Windows_Storage_Provider_IStorageProviderUICommand::Invoke() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUICommand)->Invoke()); } template auto consume_Windows_Storage_Provider_IStorageProviderUriSource::GetPathForContentUri(param::hstring const& contentUri, winrt::Windows::Storage::Provider::StorageProviderGetPathForContentUriResult const& result) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUriSource)->GetPathForContentUri(*(void**)(&contentUri), *(void**)(&result))); } template auto consume_Windows_Storage_Provider_IStorageProviderUriSource::GetContentInfoForPath(param::hstring const& path, winrt::Windows::Storage::Provider::StorageProviderGetContentInfoForPathResult const& result) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Storage::Provider::IStorageProviderUriSource)->GetContentInfoForPath(*(void**)(&path), *(void**)(&result))); } template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* args) noexcept final try { (*this)(*reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetUpdateInformation(void* file, void* contentId, int32_t readMode, int32_t writeMode, uint32_t options) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetUpdateInformation(*reinterpret_cast(&file), *reinterpret_cast(&contentId), *reinterpret_cast(&readMode), *reinterpret_cast(&writeMode), *reinterpret_cast(&options)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Title(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Title(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UpdateTarget(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UpdateTarget()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_FileUpdateRequested(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().FileUpdateRequested(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_FileUpdateRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().FileUpdateRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_UIRequested(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().UIRequested(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_UIRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().UIRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall get_UIStatus(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UIStatus()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UpdateRequest(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UpdateRequest()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDeferral(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetDeferral()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ContentId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContentId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_File(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().File()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Status(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Status(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDeferral(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetDeferral()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UpdateLocalFile(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UpdateLocalFile(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UserInputNeededMessage(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UserInputNeededMessage()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_UserInputNeededMessage(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UserInputNeededMessage(*reinterpret_cast(&value)); 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_Request(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Request()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_FileExtension(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FileExtension()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IconResource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IconResource()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* fileExtension, void* iconResource, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstance(*reinterpret_cast(&fileExtension), *reinterpret_cast(&iconResource))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Status(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Status(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContentUri(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContentUri()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ContentUri(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ContentUri(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContentId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContentId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ContentId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ContentId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Status(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Status(*reinterpret_cast(&value)); 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 put_Path(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Path(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetAsync(void* item, void* itemProperties, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SetAsync(*reinterpret_cast(&item), *reinterpret_cast const*>(&itemProperties))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_Id(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Id(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Value(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Value(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Value(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Value()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IconResource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IconResource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IconResource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IconResource()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Id(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Id(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayNameResource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayNameResource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DisplayNameResource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisplayNameResource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall GetItemProperties(void* itemPath, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetItemProperties(*reinterpret_cast(&itemPath))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_KnownFolderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().KnownFolderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_KnownFolderId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().KnownFolderId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Status(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Status(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ProviderDisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderDisplayName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderDisplayName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderDisplayName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_KnownFolderEntries(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().KnownFolderEntries()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SyncRequested(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SyncRequested()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SyncRequested(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SyncRequested(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall GetKnownFolderSyncInfo(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetKnownFolderSyncInfo()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_KnownFolderSyncInfoChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().KnownFolderSyncInfoChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_KnownFolderSyncInfoChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().KnownFolderSyncInfoChanged(*reinterpret_cast(&token)); return 0; } }; template struct produce : produce_base { int32_t __stdcall GetKnownFolderSyncInfoSource(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetKnownFolderSyncInfoSource()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_KnownFolders(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().KnownFolders()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Source(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Source()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Message(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Message()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Message(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Message(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Command(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Command()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Command(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Command(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall IsPropertySupported(void* propertyCanonicalName, bool* isSupported) noexcept final try { typename D::abi_guard guard(this->shim()); *isSupported = detach_from(this->shim().IsPropertySupported(*reinterpret_cast(&propertyCanonicalName))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_QuotaTotalInBytes(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QuotaTotalInBytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuotaTotalInBytes(uint64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuotaTotalInBytes(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QuotaUsedInBytes(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QuotaUsedInBytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuotaUsedInBytes(uint64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuotaUsedInBytes(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QuotaUsedLabel(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QuotaUsedLabel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuotaUsedLabel(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuotaUsedLabel(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QuotaUsedColor(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().QuotaUsedColor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuotaUsedColor(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuotaUsedColor(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall CreateLinkAsync(void* storageItemList, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateLinkAsync(*reinterpret_cast const*>(&storageItemList))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDefaultAccessControlStringAsync(void* storageItemList, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetDefaultAccessControlStringAsync(*reinterpret_cast const*>(&storageItemList))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetState(void* storageItemList, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetState(*reinterpret_cast const*>(&storageItemList))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ProviderState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderState(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderState(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProviderStateLabel(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderStateLabel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderStateLabel(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderStateLabel(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProviderStateIcon(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderStateIcon()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderStateIcon(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderStateIcon(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SyncStatusCommand(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SyncStatusCommand()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SyncStatusCommand(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SyncStatusCommand(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QuotaUI(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QuotaUI()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuotaUI(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuotaUI(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MoreInfoUI(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MoreInfoUI()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MoreInfoUI(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MoreInfoUI(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProviderPrimaryCommand(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderPrimaryCommand()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderPrimaryCommand(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderPrimaryCommand(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProviderSecondaryCommands(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ProviderSecondaryCommands()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderSecondaryCommands(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderSecondaryCommands(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall GetStatusUI(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetStatusUI()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_StatusUIChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().StatusUIChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_StatusUIChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().StatusUIChanged(*reinterpret_cast(&token)); return 0; } }; template struct produce : produce_base { int32_t __stdcall GetStatusUISource(void* syncRootId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetStatusUISource(*reinterpret_cast(&syncRootId))); return 0; } catch (...) { return to_hresult(); } }; #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 put_Id(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Id(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Context(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Context()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Context(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Context(*reinterpret_cast(&value)); 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 put_Path(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Path(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayNameResource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayNameResource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DisplayNameResource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisplayNameResource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IconResource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IconResource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IconResource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IconResource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HydrationPolicy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HydrationPolicy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HydrationPolicy(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HydrationPolicy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HydrationPolicyModifier(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HydrationPolicyModifier()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HydrationPolicyModifier(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HydrationPolicyModifier(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PopulationPolicy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PopulationPolicy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PopulationPolicy(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PopulationPolicy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InSyncPolicy(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InSyncPolicy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_InSyncPolicy(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().InSyncPolicy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HardlinkPolicy(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HardlinkPolicy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HardlinkPolicy(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HardlinkPolicy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShowSiblingsAsGroup(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ShowSiblingsAsGroup()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ShowSiblingsAsGroup(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ShowSiblingsAsGroup(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Version(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Version()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Version(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Version(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProtectionMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProtectionMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProtectionMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProtectionMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AllowPinning(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AllowPinning()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AllowPinning(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AllowPinning(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StorageProviderItemPropertyDefinitions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().StorageProviderItemPropertyDefinitions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RecycleBinUri(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RecycleBinUri()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RecycleBinUri(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RecycleBinUri(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ProviderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProviderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ProviderId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProviderId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_FallbackFileTypeInfo(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().FallbackFileTypeInfo()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Register(void* syncRootInformation) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Register(*reinterpret_cast(&syncRootInformation)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Unregister(void* id) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Unregister(*reinterpret_cast(&id)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSyncRootInformationForFolder(void* folder, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetSyncRootInformationForFolder(*reinterpret_cast(&folder))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSyncRootInformationForId(void* id, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetSyncRootInformationForId(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetCurrentSyncRoots(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetCurrentSyncRoots()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall IsSupported(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSupported()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_Label(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Label()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Description(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Description()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Icon(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Icon()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_State(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().State()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Invoke() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Invoke(); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetPathForContentUri(void* contentUri, void* result) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GetPathForContentUri(*reinterpret_cast(&contentUri), *reinterpret_cast(&result)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContentInfoForPath(void* path, void* result) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GetContentInfoForPath(*reinterpret_cast(&path), *reinterpret_cast(&result)); return 0; } catch (...) { return to_hresult(); } }; } WINRT_EXPORT namespace winrt::Windows::Storage::Provider { constexpr auto operator|(CachedFileOptions const left, CachedFileOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(CachedFileOptions& left, CachedFileOptions const right) noexcept { left = left | right; return left; } constexpr auto operator&(CachedFileOptions const left, CachedFileOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(CachedFileOptions& left, CachedFileOptions const right) noexcept { left = left & right; return left; } constexpr auto operator~(CachedFileOptions const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(CachedFileOptions const left, CachedFileOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(CachedFileOptions& left, CachedFileOptions const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(StorageProviderHardlinkPolicy const left, StorageProviderHardlinkPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(StorageProviderHardlinkPolicy& left, StorageProviderHardlinkPolicy const right) noexcept { left = left | right; return left; } constexpr auto operator&(StorageProviderHardlinkPolicy const left, StorageProviderHardlinkPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(StorageProviderHardlinkPolicy& left, StorageProviderHardlinkPolicy const right) noexcept { left = left & right; return left; } constexpr auto operator~(StorageProviderHardlinkPolicy const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(StorageProviderHardlinkPolicy const left, StorageProviderHardlinkPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(StorageProviderHardlinkPolicy& left, StorageProviderHardlinkPolicy const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(StorageProviderHydrationPolicyModifier const left, StorageProviderHydrationPolicyModifier const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(StorageProviderHydrationPolicyModifier& left, StorageProviderHydrationPolicyModifier const right) noexcept { left = left | right; return left; } constexpr auto operator&(StorageProviderHydrationPolicyModifier const left, StorageProviderHydrationPolicyModifier const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(StorageProviderHydrationPolicyModifier& left, StorageProviderHydrationPolicyModifier const right) noexcept { left = left & right; return left; } constexpr auto operator~(StorageProviderHydrationPolicyModifier const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(StorageProviderHydrationPolicyModifier const left, StorageProviderHydrationPolicyModifier const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(StorageProviderHydrationPolicyModifier& left, StorageProviderHydrationPolicyModifier const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(StorageProviderInSyncPolicy const left, StorageProviderInSyncPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(StorageProviderInSyncPolicy& left, StorageProviderInSyncPolicy const right) noexcept { left = left | right; return left; } constexpr auto operator&(StorageProviderInSyncPolicy const left, StorageProviderInSyncPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(StorageProviderInSyncPolicy& left, StorageProviderInSyncPolicy const right) noexcept { left = left & right; return left; } constexpr auto operator~(StorageProviderInSyncPolicy const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(StorageProviderInSyncPolicy const left, StorageProviderInSyncPolicy const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(StorageProviderInSyncPolicy& left, StorageProviderInSyncPolicy const right) noexcept { left = left ^ right; return left; } inline auto CachedFileUpdater::SetUpdateInformation(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contentId, winrt::Windows::Storage::Provider::ReadActivationMode const& readMode, winrt::Windows::Storage::Provider::WriteActivationMode const& writeMode, winrt::Windows::Storage::Provider::CachedFileOptions const& options) { impl::call_factory([&](ICachedFileUpdaterStatics const& f) { return f.SetUpdateInformation(file, contentId, readMode, writeMode, options); }); } inline StorageProviderFileTypeInfo::StorageProviderFileTypeInfo(param::hstring const& fileExtension, param::hstring const& iconResource) : StorageProviderFileTypeInfo(impl::call_factory([&](IStorageProviderFileTypeInfoFactory const& f) { return f.CreateInstance(fileExtension, iconResource); })) { } inline StorageProviderGetContentInfoForPathResult::StorageProviderGetContentInfoForPathResult() : StorageProviderGetContentInfoForPathResult(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderGetPathForContentUriResult::StorageProviderGetPathForContentUriResult() : StorageProviderGetPathForContentUriResult(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto StorageProviderItemProperties::SetAsync(winrt::Windows::Storage::IStorageItem const& item, param::async_iterable const& itemProperties) { return impl::call_factory([&](IStorageProviderItemPropertiesStatics const& f) { return f.SetAsync(item, itemProperties); }); } inline StorageProviderItemProperty::StorageProviderItemProperty() : StorageProviderItemProperty(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderItemPropertyDefinition::StorageProviderItemPropertyDefinition() : StorageProviderItemPropertyDefinition(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderKnownFolderEntry::StorageProviderKnownFolderEntry() : StorageProviderKnownFolderEntry(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderKnownFolderSyncInfo::StorageProviderKnownFolderSyncInfo() : StorageProviderKnownFolderSyncInfo(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderMoreInfoUI::StorageProviderMoreInfoUI() : StorageProviderMoreInfoUI(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderQuotaUI::StorageProviderQuotaUI() : StorageProviderQuotaUI(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderStatusUI::StorageProviderStatusUI() : StorageProviderStatusUI(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline StorageProviderSyncRootInfo::StorageProviderSyncRootInfo() : StorageProviderSyncRootInfo(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto StorageProviderSyncRootManager::Register(winrt::Windows::Storage::Provider::StorageProviderSyncRootInfo const& syncRootInformation) { impl::call_factory([&](IStorageProviderSyncRootManagerStatics const& f) { return f.Register(syncRootInformation); }); } inline auto StorageProviderSyncRootManager::Unregister(param::hstring const& id) { impl::call_factory([&](IStorageProviderSyncRootManagerStatics const& f) { return f.Unregister(id); }); } inline auto StorageProviderSyncRootManager::GetSyncRootInformationForFolder(winrt::Windows::Storage::IStorageFolder const& folder) { return impl::call_factory([&](IStorageProviderSyncRootManagerStatics const& f) { return f.GetSyncRootInformationForFolder(folder); }); } inline auto StorageProviderSyncRootManager::GetSyncRootInformationForId(param::hstring const& id) { return impl::call_factory([&](IStorageProviderSyncRootManagerStatics const& f) { return f.GetSyncRootInformationForId(id); }); } inline auto StorageProviderSyncRootManager::GetCurrentSyncRoots() { return impl::call_factory_cast(*)(IStorageProviderSyncRootManagerStatics const&), StorageProviderSyncRootManager, IStorageProviderSyncRootManagerStatics>([](IStorageProviderSyncRootManagerStatics const& f) { return f.GetCurrentSyncRoots(); }); } inline auto StorageProviderSyncRootManager::IsSupported() { return impl::call_factory_cast([](IStorageProviderSyncRootManagerStatics2 const& f) { return f.IsSupported(); }); } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(L handler) : StorageProviderKnownFolderSyncRequestedHandler(impl::make_delegate(std::forward(handler))) { } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(F* handler) : StorageProviderKnownFolderSyncRequestedHandler([=](auto&&... args) { return handler(args...); }) { } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(O* object, M method) : StorageProviderKnownFolderSyncRequestedHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(com_ptr&& object, M method) : StorageProviderKnownFolderSyncRequestedHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(weak_ref&& object, LM&& lambda_or_method) : StorageProviderKnownFolderSyncRequestedHandler([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 StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(std::shared_ptr&& object, M method) : StorageProviderKnownFolderSyncRequestedHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template StorageProviderKnownFolderSyncRequestedHandler::StorageProviderKnownFolderSyncRequestedHandler(std::weak_ptr&& object, LM&& lambda_or_method) : StorageProviderKnownFolderSyncRequestedHandler([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 StorageProviderKnownFolderSyncRequestedHandler::operator()(winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncRequestArgs const& args) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&args))); } } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif