// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Security_Authentication_Identity_Core_H #define WINRT_Windows_Security_Authentication_Identity_Core_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.Security.Authentication.Identity.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Security.Authentication.Identity.Core.2.h" namespace winrt::impl { template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::GetOneTimePassCodeAsync(param::hstring const& userAccountId, uint32_t codeLength) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->GetOneTimePassCodeAsync(*(void**)(&userAccountId), codeLength, &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::AddDeviceAsync(param::hstring const& userAccountId, param::hstring const& authenticationToken, param::hstring const& wnsChannelId) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->AddDeviceAsync(*(void**)(&userAccountId), *(void**)(&authenticationToken), *(void**)(&wnsChannelId), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::RemoveDeviceAsync(param::hstring const& userAccountId) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->RemoveDeviceAsync(*(void**)(&userAccountId), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::UpdateWnsChannelAsync(param::hstring const& userAccountId, param::hstring const& channelUri) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->UpdateWnsChannelAsync(*(void**)(&userAccountId), *(void**)(&channelUri), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::GetSessionsAsync(param::async_iterable const& userAccountIdList) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->GetSessionsAsync(*(void**)(&userAccountIdList), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::GetSessionsAndUnregisteredAccountsAsync(param::async_iterable const& userAccountIdList) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->GetSessionsAndUnregisteredAccountsAsync(*(void**)(&userAccountIdList), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::ApproveSessionAsync(winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus const& sessionAuthentictionStatus, winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionInfo const& authenticationSessionInfo) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->ApproveSessionUsingAuthSessionInfoAsync(static_cast(sessionAuthentictionStatus), *(void**)(&authenticationSessionInfo), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::ApproveSessionAsync(winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus const& sessionAuthentictionStatus, param::hstring const& userAccountId, param::hstring const& sessionId, winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType const& sessionAuthenticationType) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->ApproveSessionAsync(static_cast(sessionAuthentictionStatus), *(void**)(&userAccountId), *(void**)(&sessionId), static_cast(sessionAuthenticationType), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::DenySessionAsync(winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionInfo const& authenticationSessionInfo) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->DenySessionUsingAuthSessionInfoAsync(*(void**)(&authenticationSessionInfo), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticationManager::DenySessionAsync(param::hstring const& userAccountId, param::hstring const& sessionId, winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType const& sessionAuthenticationType) const { void* asyncOperation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager)->DenySessionAsync(*(void**)(&userAccountId), *(void**)(&sessionId), static_cast(sessionAuthenticationType), &asyncOperation)); return winrt::Windows::Foundation::IAsyncOperation{ asyncOperation, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorAuthenticatorStatics::Current() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticatorStatics)->get_Current(&value)); return winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationManager{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorGetSessionsResult::Sessions() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorGetSessionsResult)->get_Sessions(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorGetSessionsResult::ServiceResponse() const { winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorGetSessionsResult)->get_ServiceResponse(reinterpret_cast(&value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorOneTimeCodedInfo::Code() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_Code(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorOneTimeCodedInfo::TimeInterval() const { winrt::Windows::Foundation::TimeSpan value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_TimeInterval(put_abi(value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorOneTimeCodedInfo::TimeToLive() const { winrt::Windows::Foundation::TimeSpan value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_TimeToLive(put_abi(value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorOneTimeCodedInfo::ServiceResponse() const { winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_ServiceResponse(reinterpret_cast(&value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::UserAccountId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_UserAccountId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::SessionId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_SessionId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::DisplaySessionId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_DisplaySessionId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::ApprovalStatus() const { winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionApprovalStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_ApprovalStatus(reinterpret_cast(&value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::AuthenticationType() const { winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_AuthenticationType(reinterpret_cast(&value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::RequestTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_RequestTime(put_abi(value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorSessionInfo::ExpirationTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo)->get_ExpirationTime(put_abi(value))); return value; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::Sessions() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_Sessions(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::UnregisteredAccounts() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_UnregisteredAccounts(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Security_Authentication_Identity_Core_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::ServiceResponse() const { winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_ServiceResponse(reinterpret_cast(&value))); return value; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetOneTimePassCodeAsync(void* userAccountId, uint32_t codeLength, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().GetOneTimePassCodeAsync(*reinterpret_cast(&userAccountId), codeLength)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddDeviceAsync(void* userAccountId, void* authenticationToken, void* wnsChannelId, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().AddDeviceAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&authenticationToken), *reinterpret_cast(&wnsChannelId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveDeviceAsync(void* userAccountId, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().RemoveDeviceAsync(*reinterpret_cast(&userAccountId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UpdateWnsChannelAsync(void* userAccountId, void* channelUri, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().UpdateWnsChannelAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&channelUri))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSessionsAsync(void* userAccountIdList, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().GetSessionsAsync(*reinterpret_cast const*>(&userAccountIdList))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSessionsAndUnregisteredAccountsAsync(void* userAccountIdList, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().GetSessionsAndUnregisteredAccountsAsync(*reinterpret_cast const*>(&userAccountIdList))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ApproveSessionUsingAuthSessionInfoAsync(int32_t sessionAuthentictionStatus, void* authenticationSessionInfo, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().ApproveSessionAsync(*reinterpret_cast(&sessionAuthentictionStatus), *reinterpret_cast(&authenticationSessionInfo))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ApproveSessionAsync(int32_t sessionAuthentictionStatus, void* userAccountId, void* sessionId, int32_t sessionAuthenticationType, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().ApproveSessionAsync(*reinterpret_cast(&sessionAuthentictionStatus), *reinterpret_cast(&userAccountId), *reinterpret_cast(&sessionId), *reinterpret_cast(&sessionAuthenticationType))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DenySessionUsingAuthSessionInfoAsync(void* authenticationSessionInfo, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().DenySessionAsync(*reinterpret_cast(&authenticationSessionInfo))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DenySessionAsync(void* userAccountId, void* sessionId, int32_t sessionAuthenticationType, void** asyncOperation) noexcept final try { clear_abi(asyncOperation); typename D::abi_guard guard(this->shim()); *asyncOperation = detach_from>(this->shim().DenySessionAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&sessionId), *reinterpret_cast(&sessionAuthenticationType))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Current(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Current()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Sessions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Sessions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ServiceResponse(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ServiceResponse()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Code(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Code()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TimeInterval(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TimeInterval()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TimeToLive(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TimeToLive()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ServiceResponse(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ServiceResponse()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UserAccountId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UserAccountId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SessionId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SessionId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplaySessionId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplaySessionId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ApprovalStatus(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ApprovalStatus()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AuthenticationType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AuthenticationType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RequestTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExpirationTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExpirationTime()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Sessions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Sessions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UnregisteredAccounts(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().UnregisteredAccounts()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ServiceResponse(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ServiceResponse()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Security::Authentication::Identity::Core { inline auto MicrosoftAccountMultiFactorAuthenticationManager::Current() { return impl::call_factory_cast([](IMicrosoftAccountMultiFactorAuthenticatorStatics const& f) { return f.Current(); }); } } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif