// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Media_Protection_PlayReady_H #define WINRT_Windows_Media_Protection_PlayReady_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.Media.Protection.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Media.Core.2.h" #include "winrt/impl/Windows.Media.Protection.2.h" #include "winrt/impl/Windows.Storage.2.h" #include "winrt/impl/Windows.Media.Protection.PlayReady.2.h" namespace winrt::impl { template auto consume_Windows_Media_Protection_PlayReady_INDClient::RegistrationCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->add_RegistrationCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::RegistrationCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, RegistrationCompleted(handler)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::RegistrationCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->remove_RegistrationCompleted(impl::bind_in(token)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ProximityDetectionCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->add_ProximityDetectionCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ProximityDetectionCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ProximityDetectionCompleted(handler)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ProximityDetectionCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->remove_ProximityDetectionCompleted(impl::bind_in(token)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::LicenseFetchCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->add_LicenseFetchCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::LicenseFetchCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, LicenseFetchCompleted(handler)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::LicenseFetchCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->remove_LicenseFetchCompleted(impl::bind_in(token)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ReRegistrationNeeded(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->add_ReRegistrationNeeded(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ReRegistrationNeeded(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ReRegistrationNeeded(handler)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ReRegistrationNeeded(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->remove_ReRegistrationNeeded(impl::bind_in(token)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ClosedCaptionDataReceived(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->add_ClosedCaptionDataReceived(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ClosedCaptionDataReceived(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ClosedCaptionDataReceived(handler)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ClosedCaptionDataReceived(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->remove_ClosedCaptionDataReceived(impl::bind_in(token)); } template auto consume_Windows_Media_Protection_PlayReady_INDClient::StartAsync(winrt::Windows::Foundation::Uri const& contentUrl, uint32_t startAsyncOptions, winrt::Windows::Media::Protection::PlayReady::INDCustomData const& registrationCustomData, winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor const& licenseFetchDescriptor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->StartAsync(*(void**)(&contentUrl), startAsyncOptions, *(void**)(®istrationCustomData), *(void**)(&licenseFetchDescriptor), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::LicenseFetchAsync(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor const& licenseFetchDescriptor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->LicenseFetchAsync(*(void**)(&licenseFetchDescriptor), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::ReRegistrationAsync(winrt::Windows::Media::Protection::PlayReady::INDCustomData const& registrationCustomData) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->ReRegistrationAsync(*(void**)(®istrationCustomData), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDClient::Close() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClient)->Close()); } template auto consume_Windows_Media_Protection_PlayReady_INDClientFactory::CreateInstance(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine const& downloadEngine, winrt::Windows::Media::Protection::PlayReady::INDStreamParser const& streamParser, winrt::Windows::Media::Protection::PlayReady::INDMessenger const& pMessenger) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClientFactory)->CreateInstance(*(void**)(&downloadEngine), *(void**)(&streamParser), *(void**)(&pMessenger), &instance)); return winrt::Windows::Media::Protection::PlayReady::NDClient{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDClosedCaptionDataReceivedEventArgs::ClosedCaptionDataFormat() const { winrt::Windows::Media::Protection::PlayReady::NDClosedCaptionFormat ccForamt{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClosedCaptionDataReceivedEventArgs)->get_ClosedCaptionDataFormat(reinterpret_cast(&ccForamt))); return ccForamt; } template auto consume_Windows_Media_Protection_PlayReady_INDClosedCaptionDataReceivedEventArgs::PresentationTimestamp() const { int64_t presentationTimestamp{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClosedCaptionDataReceivedEventArgs)->get_PresentationTimestamp(&presentationTimestamp)); return presentationTimestamp; } template auto consume_Windows_Media_Protection_PlayReady_INDClosedCaptionDataReceivedEventArgs::ClosedCaptionData() const { uint32_t ccDataBytes_impl_size{}; uint8_t* ccDataBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDClosedCaptionDataReceivedEventArgs)->get_ClosedCaptionData(&ccDataBytes_impl_size, &ccDataBytes)); return com_array{ ccDataBytes, ccDataBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDCustomData::CustomDataTypeID() const { uint32_t customDataTypeIDBytes_impl_size{}; uint8_t* customDataTypeIDBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDCustomData)->get_CustomDataTypeID(&customDataTypeIDBytes_impl_size, &customDataTypeIDBytes)); return com_array{ customDataTypeIDBytes, customDataTypeIDBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDCustomData::CustomData() const { uint32_t customDataBytes_impl_size{}; uint8_t* customDataBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDCustomData)->get_CustomData(&customDataBytes_impl_size, &customDataBytes)); return com_array{ customDataBytes, customDataBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDCustomDataFactory::CreateInstance(array_view customDataTypeIDBytes, array_view customDataBytes) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDCustomDataFactory)->CreateInstance(customDataTypeIDBytes.size(), get_abi(customDataTypeIDBytes), customDataBytes.size(), get_abi(customDataBytes), &instance)); return winrt::Windows::Media::Protection::PlayReady::NDCustomData{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Open(winrt::Windows::Foundation::Uri const& uri, array_view sessionIDBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->Open(*(void**)(&uri), sessionIDBytes.size(), get_abi(sessionIDBytes))); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Pause() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->Pause()); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Resume() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->Resume()); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Close() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->Close()); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Seek(winrt::Windows::Foundation::TimeSpan const& startPosition) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->Seek(impl::bind_in(startPosition))); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::CanSeek() const { bool canSeek{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->get_CanSeek(&canSeek)); return canSeek; } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::BufferFullMinThresholdInSamples() const { uint32_t bufferFullMinThreshold{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->get_BufferFullMinThresholdInSamples(&bufferFullMinThreshold)); return bufferFullMinThreshold; } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::BufferFullMaxThresholdInSamples() const { uint32_t bufferFullMaxThreshold{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->get_BufferFullMaxThresholdInSamples(&bufferFullMaxThreshold)); return bufferFullMaxThreshold; } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngine::Notifier() const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine)->get_Notifier(&instance)); return winrt::Windows::Media::Protection::PlayReady::NDDownloadEngineNotifier{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnStreamOpened() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnStreamOpened()); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnPlayReadyObjectReceived(array_view dataBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnPlayReadyObjectReceived(dataBytes.size(), get_abi(dataBytes))); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnContentIDReceived(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor const& licenseFetchDescriptor) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnContentIDReceived(*(void**)(&licenseFetchDescriptor))); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnDataReceived(array_view dataBytes, uint32_t bytesReceived) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnDataReceived(dataBytes.size(), get_abi(dataBytes), bytesReceived)); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnEndOfStream() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnEndOfStream()); } template auto consume_Windows_Media_Protection_PlayReady_INDDownloadEngineNotifier::OnNetworkError() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier)->OnNetworkError()); } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchCompletedEventArgs::ResponseCustomData() const { void* customData{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchCompletedEventArgs)->get_ResponseCustomData(&customData)); return winrt::Windows::Media::Protection::PlayReady::INDCustomData{ customData, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchDescriptor::ContentIDType() const { winrt::Windows::Media::Protection::PlayReady::NDContentIDType contentIDType{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor)->get_ContentIDType(reinterpret_cast(&contentIDType))); return contentIDType; } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchDescriptor::ContentID() const { uint32_t contentIDBytes_impl_size{}; uint8_t* contentIDBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor)->get_ContentID(&contentIDBytes_impl_size, &contentIDBytes)); return com_array{ contentIDBytes, contentIDBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchDescriptor::LicenseFetchChallengeCustomData() const { void* licenseFetchChallengeCustomData{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor)->get_LicenseFetchChallengeCustomData(&licenseFetchChallengeCustomData)); return winrt::Windows::Media::Protection::PlayReady::INDCustomData{ licenseFetchChallengeCustomData, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchDescriptor::LicenseFetchChallengeCustomData(winrt::Windows::Media::Protection::PlayReady::INDCustomData const& licenseFetchChallengeCustomData) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor)->put_LicenseFetchChallengeCustomData(*(void**)(&licenseFetchChallengeCustomData))); } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchDescriptorFactory::CreateInstance(winrt::Windows::Media::Protection::PlayReady::NDContentIDType const& contentIDType, array_view contentIDBytes, winrt::Windows::Media::Protection::PlayReady::INDCustomData const& licenseFetchChallengeCustomData) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptorFactory)->CreateInstance(static_cast(contentIDType), contentIDBytes.size(), get_abi(contentIDBytes), *(void**)(&licenseFetchChallengeCustomData), &instance)); return winrt::Windows::Media::Protection::PlayReady::NDLicenseFetchDescriptor{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDLicenseFetchResult::ResponseCustomData() const { void* customData{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchResult)->get_ResponseCustomData(&customData)); return winrt::Windows::Media::Protection::PlayReady::INDCustomData{ customData, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDMessenger::SendRegistrationRequestAsync(array_view sessionIDBytes, array_view challengeDataBytes) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDMessenger)->SendRegistrationRequestAsync(sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDMessenger::SendProximityDetectionStartAsync(winrt::Windows::Media::Protection::PlayReady::NDProximityDetectionType const& pdType, array_view transmitterChannelBytes, array_view sessionIDBytes, array_view challengeDataBytes) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDMessenger)->SendProximityDetectionStartAsync(static_cast(pdType), transmitterChannelBytes.size(), get_abi(transmitterChannelBytes), sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDMessenger::SendProximityDetectionResponseAsync(winrt::Windows::Media::Protection::PlayReady::NDProximityDetectionType const& pdType, array_view transmitterChannelBytes, array_view sessionIDBytes, array_view responseDataBytes) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDMessenger)->SendProximityDetectionResponseAsync(static_cast(pdType), transmitterChannelBytes.size(), get_abi(transmitterChannelBytes), sessionIDBytes.size(), get_abi(sessionIDBytes), responseDataBytes.size(), get_abi(responseDataBytes), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDMessenger::SendLicenseFetchRequestAsync(array_view sessionIDBytes, array_view challengeDataBytes) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDMessenger)->SendLicenseFetchRequestAsync(sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDProximityDetectionCompletedEventArgs::ProximityDetectionRetryCount() const { uint32_t retryCount{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDProximityDetectionCompletedEventArgs)->get_ProximityDetectionRetryCount(&retryCount)); return retryCount; } template auto consume_Windows_Media_Protection_PlayReady_INDRegistrationCompletedEventArgs::ResponseCustomData() const { void* customData{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDRegistrationCompletedEventArgs)->get_ResponseCustomData(&customData)); return winrt::Windows::Media::Protection::PlayReady::INDCustomData{ customData, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDRegistrationCompletedEventArgs::TransmitterProperties() const { void* transmitterProperties{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDRegistrationCompletedEventArgs)->get_TransmitterProperties(&transmitterProperties)); return winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties{ transmitterProperties, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDRegistrationCompletedEventArgs::TransmitterCertificateAccepted() const { bool acceptpt{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDRegistrationCompletedEventArgs)->get_TransmitterCertificateAccepted(&acceptpt)); return acceptpt; } template auto consume_Windows_Media_Protection_PlayReady_INDRegistrationCompletedEventArgs::TransmitterCertificateAccepted(bool accept) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDRegistrationCompletedEventArgs)->put_TransmitterCertificateAccepted(accept)); } template auto consume_Windows_Media_Protection_PlayReady_INDSendResult::Response() const { uint32_t responseDataBytes_impl_size{}; uint8_t* responseDataBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDSendResult)->get_Response(&responseDataBytes_impl_size, &responseDataBytes)); return com_array{ responseDataBytes, responseDataBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDStartResult::MediaStreamSource() const { void* mediaStreamSource{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStartResult)->get_MediaStreamSource(&mediaStreamSource)); return winrt::Windows::Media::Core::MediaStreamSource{ mediaStreamSource, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDStorageFileHelper::GetFileURLs(winrt::Windows::Storage::IStorageFile const& file) const { void* fileURLs{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStorageFileHelper)->GetFileURLs(*(void**)(&file), &fileURLs)); return winrt::Windows::Foundation::Collections::IVector{ fileURLs, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParser::ParseData(array_view dataBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParser)->ParseData(dataBytes.size(), get_abi(dataBytes))); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParser::GetStreamInformation(winrt::Windows::Media::Core::IMediaStreamDescriptor const& descriptor, winrt::Windows::Media::Protection::PlayReady::NDMediaStreamType& streamType) const { uint32_t streamID{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParser)->GetStreamInformation(*(void**)(&descriptor), reinterpret_cast(&streamType), &streamID)); return streamID; } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParser::BeginOfStream() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParser)->BeginOfStream()); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParser::EndOfStream() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParser)->EndOfStream()); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParser::Notifier() const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParser)->get_Notifier(&instance)); return winrt::Windows::Media::Protection::PlayReady::NDStreamParserNotifier{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParserNotifier::OnContentIDReceived(winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor const& licenseFetchDescriptor) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParserNotifier)->OnContentIDReceived(*(void**)(&licenseFetchDescriptor))); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParserNotifier::OnMediaStreamDescriptorCreated(param::vector const& audioStreamDescriptors, param::vector const& videoStreamDescriptors) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParserNotifier)->OnMediaStreamDescriptorCreated(*(void**)(&audioStreamDescriptors), *(void**)(&videoStreamDescriptors))); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParserNotifier::OnSampleParsed(uint32_t streamID, winrt::Windows::Media::Protection::PlayReady::NDMediaStreamType const& streamType, winrt::Windows::Media::Core::MediaStreamSample const& streamSample, int64_t pts, winrt::Windows::Media::Protection::PlayReady::NDClosedCaptionFormat const& ccFormat, array_view ccDataBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParserNotifier)->OnSampleParsed(streamID, static_cast(streamType), *(void**)(&streamSample), pts, static_cast(ccFormat), ccDataBytes.size(), get_abi(ccDataBytes))); } template auto consume_Windows_Media_Protection_PlayReady_INDStreamParserNotifier::OnBeginSetupDecryptor(winrt::Windows::Media::Core::IMediaStreamDescriptor const& descriptor, winrt::guid const& keyID, array_view proBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDStreamParserNotifier)->OnBeginSetupDecryptor(*(void**)(&descriptor), impl::bind_in(keyID), proBytes.size(), get_abi(proBytes))); } template auto consume_Windows_Media_Protection_PlayReady_INDTCPMessengerFactory::CreateInstance(param::hstring const& remoteHostName, uint32_t remoteHostPort) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTCPMessengerFactory)->CreateInstance(*(void**)(&remoteHostName), remoteHostPort, &instance)); return winrt::Windows::Media::Protection::PlayReady::NDTCPMessenger{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::CertificateType() const { winrt::Windows::Media::Protection::PlayReady::NDCertificateType type{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_CertificateType(reinterpret_cast(&type))); return type; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::PlatformIdentifier() const { winrt::Windows::Media::Protection::PlayReady::NDCertificatePlatformID identifier{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_PlatformIdentifier(reinterpret_cast(&identifier))); return identifier; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::SupportedFeatures() const { uint32_t featureSets_impl_size{}; int32_t* featureSets{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_SupportedFeatures(&featureSets_impl_size, &featureSets)); return com_array{ featureSets, featureSets_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::SecurityLevel() const { uint32_t level{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_SecurityLevel(&level)); return level; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::SecurityVersion() const { uint32_t securityVersion{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_SecurityVersion(&securityVersion)); return securityVersion; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ExpirationDate() const { winrt::Windows::Foundation::DateTime expirationDate{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ExpirationDate(put_abi(expirationDate))); return expirationDate; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ClientID() const { uint32_t clientIDBytes_impl_size{}; uint8_t* clientIDBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ClientID(&clientIDBytes_impl_size, &clientIDBytes)); return com_array{ clientIDBytes, clientIDBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ModelDigest() const { uint32_t modelDigestBytes_impl_size{}; uint8_t* modelDigestBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ModelDigest(&modelDigestBytes_impl_size, &modelDigestBytes)); return com_array{ modelDigestBytes, modelDigestBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ModelManufacturerName() const { void* modelManufacturerName{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ModelManufacturerName(&modelManufacturerName)); return hstring{ modelManufacturerName, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ModelName() const { void* modelName{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ModelName(&modelName)); return hstring{ modelName, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_INDTransmitterProperties::ModelNumber() const { void* modelNumber{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties)->get_ModelNumber(&modelNumber)); return hstring{ modelNumber, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::KeyId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_KeyId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::KeyIdString() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_KeyIdString(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::LicenseAcquisitionUrl() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_LicenseAcquisitionUrl(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::LicenseAcquisitionUserInterfaceUrl() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_LicenseAcquisitionUserInterfaceUrl(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::DomainServiceId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_DomainServiceId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::EncryptionType() const { winrt::Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_EncryptionType(reinterpret_cast(&value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::CustomAttributes() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_CustomAttributes(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::DecryptorSetup() const { winrt::Windows::Media::Protection::PlayReady::PlayReadyDecryptorSetup value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_DecryptorSetup(reinterpret_cast(&value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::GetSerializedHeader() const { uint32_t headerBytes_impl_size{}; uint8_t* headerBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->GetSerializedHeader(&headerBytes_impl_size, &headerBytes)); return com_array{ headerBytes, headerBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader::HeaderWithEmbeddedUpdates() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader)->get_HeaderWithEmbeddedUpdates(&value)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader2::KeyIds() const { uint32_t contentKeyIds_impl_size{}; winrt::guid* contentKeyIds{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader2)->get_KeyIds(&contentKeyIds_impl_size, &contentKeyIds)); return com_array{ contentKeyIds, contentKeyIds_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeader2::KeyIdStrings() const { uint32_t contentKeyIdStrings_impl_size{}; void** contentKeyIdStrings{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader2)->get_KeyIdStrings(&contentKeyIdStrings_impl_size, &contentKeyIdStrings)); return com_array{ contentKeyIdStrings, contentKeyIdStrings_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeaderFactory::CreateInstanceFromWindowsMediaDrmHeader(array_view headerBytes, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory)->CreateInstanceFromWindowsMediaDrmHeader(headerBytes.size(), get_abi(headerBytes), *(void**)(&licenseAcquisitionUrl), *(void**)(&licenseAcquisitionUserInterfaceUrl), *(void**)(&customAttributes), impl::bind_in(domainServiceId), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeaderFactory::CreateInstanceFromComponents(winrt::guid const& contentKeyId, param::hstring const& contentKeyIdString, winrt::Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory)->CreateInstanceFromComponents(impl::bind_in(contentKeyId), *(void**)(&contentKeyIdString), static_cast(contentEncryptionAlgorithm), *(void**)(&licenseAcquisitionUrl), *(void**)(&licenseAcquisitionUserInterfaceUrl), *(void**)(&customAttributes), impl::bind_in(domainServiceId), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeaderFactory::CreateInstanceFromPlayReadyHeader(array_view headerBytes) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory)->CreateInstanceFromPlayReadyHeader(headerBytes.size(), get_abi(headerBytes), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentHeaderFactory2::CreateInstanceFromComponents2(uint32_t dwFlags, array_view contentKeyIds, array_view contentKeyIdStrings, winrt::Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory2)->CreateInstanceFromComponents2(dwFlags, contentKeyIds.size(), get_abi(contentKeyIds), contentKeyIdStrings.size(), get_abi(contentKeyIdStrings), static_cast(contentEncryptionAlgorithm), *(void**)(&licenseAcquisitionUrl), *(void**)(&licenseAcquisitionUserInterfaceUrl), *(void**)(&customAttributes), impl::bind_in(domainServiceId), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyContentResolver::ServiceRequest(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader) const { void* serviceRequest{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentResolver)->ServiceRequest(*(void**)(&contentHeader), &serviceRequest)); return winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest{ serviceRequest, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomain::AccountId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain)->get_AccountId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomain::ServiceId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain)->get_ServiceId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomain::Revision() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain)->get_Revision(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomain::FriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain)->get_FriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomain::DomainJoinUrl() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain)->get_DomainJoinUrl(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainIterableFactory::CreateInstance(winrt::guid const& domainAccountId) const { void* domainIterable{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainIterableFactory)->CreateInstance(impl::bind_in(domainAccountId), &domainIterable)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyDomainIterable{ domainIterable, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainAccountId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->get_DomainAccountId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainAccountId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->put_DomainAccountId(impl::bind_in(value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainFriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->get_DomainFriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainFriendlyName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->put_DomainFriendlyName(*(void**)(&value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainServiceId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->get_DomainServiceId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainJoinServiceRequest::DomainServiceId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest)->put_DomainServiceId(impl::bind_in(value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainLeaveServiceRequest::DomainAccountId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainLeaveServiceRequest)->get_DomainAccountId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainLeaveServiceRequest::DomainAccountId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainLeaveServiceRequest)->put_DomainAccountId(impl::bind_in(value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainLeaveServiceRequest::DomainServiceId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainLeaveServiceRequest)->get_DomainServiceId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyDomainLeaveServiceRequest::DomainServiceId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainLeaveServiceRequest)->put_DomainServiceId(impl::bind_in(value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyITADataGenerator::GenerateData(winrt::guid const& guidCPSystemId, uint32_t countOfStreams, winrt::Windows::Foundation::Collections::IPropertySet const& configuration, winrt::Windows::Media::Protection::PlayReady::PlayReadyITADataFormat const& format) const { uint32_t dataBytes_impl_size{}; uint8_t* dataBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyITADataGenerator)->GenerateData(impl::bind_in(guidCPSystemId), countOfStreams, *(void**)(&configuration), static_cast(format), &dataBytes_impl_size, &dataBytes)); return com_array{ dataBytes, dataBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::FullyEvaluated() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_FullyEvaluated(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::UsableForPlay() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_UsableForPlay(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::ExpirationDate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_ExpirationDate(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::ExpireAfterFirstPlay() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_ExpireAfterFirstPlay(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::DomainAccountID() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_DomainAccountID(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::ChainDepth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->get_ChainDepth(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense::GetKIDAtChainDepth(uint32_t chainDepth) const { winrt::guid kid{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense)->GetKIDAtChainDepth(chainDepth, put_abi(kid))); return kid; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense2::SecureStopId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense2)->get_SecureStopId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense2::SecurityLevel() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense2)->get_SecurityLevel(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense2::InMemoryOnly() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense2)->get_InMemoryOnly(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicense2::ExpiresInRealTime() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense2)->get_ExpiresInRealTime(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest::ContentHeader() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest)->get_ContentHeader(&value)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest::ContentHeader(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest)->put_ContentHeader(*(void**)(&value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest::DomainServiceId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest)->get_DomainServiceId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest::DomainServiceId(winrt::guid const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest)->put_DomainServiceId(impl::bind_in(value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest2::SessionId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest2)->get_SessionId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseAcquisitionServiceRequest3::CreateLicenseIterable(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader, bool fullyEvaluated) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest3)->CreateLicenseIterable(*(void**)(&contentHeader), fullyEvaluated, &result)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseIterableFactory::CreateInstance(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader, bool fullyEvaluated) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseIterableFactory)->CreateInstance(*(void**)(&contentHeader), fullyEvaluated, &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseManagement::DeleteLicenses(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseManagement)->DeleteLicenses(*(void**)(&contentHeader), &operation)); return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseSession::CreateLAServiceRequest() const { void* serviceRequest{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSession)->CreateLAServiceRequest(&serviceRequest)); return winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest{ serviceRequest, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseSession::ConfigureMediaProtectionManager(winrt::Windows::Media::Protection::MediaProtectionManager const& mpm) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSession)->ConfigureMediaProtectionManager(*(void**)(&mpm))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseSession2::CreateLicenseIterable(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader, bool fullyEvaluated) const { void* licenseIterable{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSession2)->CreateLicenseIterable(*(void**)(&contentHeader), fullyEvaluated, &licenseIterable)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable{ licenseIterable, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyLicenseSessionFactory::CreateInstance(winrt::Windows::Foundation::Collections::IPropertySet const& configuration) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSessionFactory)->CreateInstance(*(void**)(&configuration), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseSession{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyMeteringReportServiceRequest::MeteringCertificate() const { uint32_t meteringCertBytes_impl_size{}; uint8_t* meteringCertBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyMeteringReportServiceRequest)->get_MeteringCertificate(&meteringCertBytes_impl_size, &meteringCertBytes)); return com_array{ meteringCertBytes, meteringCertBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyMeteringReportServiceRequest::MeteringCertificate(array_view meteringCertBytes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyMeteringReportServiceRequest)->put_MeteringCertificate(meteringCertBytes.size(), get_abi(meteringCertBytes))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopIterableFactory::CreateInstance(array_view publisherCertBytes) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopIterableFactory)->CreateInstance(publisherCertBytes.size(), get_abi(publisherCertBytes), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopIterable{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequest::SessionID() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest)->get_SessionID(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequest::StartTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest)->get_StartTime(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequest::UpdateTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest)->get_UpdateTime(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequest::Stopped() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest)->get_Stopped(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequest::PublisherCertificate() const { uint32_t publisherCertBytes_impl_size{}; uint8_t* publisherCertBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest)->get_PublisherCertificate(&publisherCertBytes_impl_size, &publisherCertBytes)); return com_array{ publisherCertBytes, publisherCertBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequestFactory::CreateInstance(array_view publisherCertBytes) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequestFactory)->CreateInstance(publisherCertBytes.size(), get_abi(publisherCertBytes), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySecureStopServiceRequestFactory::CreateInstanceFromSessionID(winrt::guid const& sessionID, array_view publisherCertBytes) const { void* instance{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequestFactory)->CreateInstanceFromSessionID(impl::bind_in(sessionID), publisherCertBytes.size(), get_abi(publisherCertBytes), &instance)); return winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest{ instance, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::Uri() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->get_Uri(&value)); return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::Uri(winrt::Windows::Foundation::Uri const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->put_Uri(*(void**)(&value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::ResponseCustomData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->get_ResponseCustomData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::ChallengeCustomData() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->get_ChallengeCustomData(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::ChallengeCustomData(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->put_ChallengeCustomData(*(void**)(&value))); } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::BeginServiceRequest() const { void* action{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->BeginServiceRequest(&action)); return winrt::Windows::Foundation::IAsyncAction{ action, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::NextServiceRequest() const { void* serviceRequest{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->NextServiceRequest(&serviceRequest)); return winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest{ serviceRequest, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::GenerateManualEnablingChallenge() const { void* challengeMessage{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->GenerateManualEnablingChallenge(&challengeMessage)); return winrt::Windows::Media::Protection::PlayReady::PlayReadySoapMessage{ challengeMessage, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyServiceRequest::ProcessManualEnablingResponse(array_view responseBytes) const { winrt::hresult result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest)->ProcessManualEnablingResponse(responseBytes.size(), get_abi(responseBytes), put_abi(result))); return result; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySoapMessage::GetMessageBody() const { uint32_t messageBodyBytes_impl_size{}; uint8_t* messageBodyBytes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySoapMessage)->GetMessageBody(&messageBodyBytes_impl_size, &messageBodyBytes)); return com_array{ messageBodyBytes, messageBodyBytes_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySoapMessage::MessageHeaders() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySoapMessage)->get_MessageHeaders(&value)); return winrt::Windows::Foundation::Collections::IPropertySet{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadySoapMessage::Uri() const { void* messageUri{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadySoapMessage)->get_Uri(&messageUri)); return winrt::Windows::Foundation::Uri{ messageUri, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::DomainJoinServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_DomainJoinServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::DomainLeaveServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_DomainLeaveServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::IndividualizationServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_IndividualizationServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::LicenseAcquirerServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_LicenseAcquirerServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::MeteringReportServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_MeteringReportServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::RevocationServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_RevocationServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::MediaProtectionSystemId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_MediaProtectionSystemId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics::PlayReadySecurityVersion() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics)->get_PlayReadySecurityVersion(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics2::PlayReadyCertificateSecurityLevel() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics2)->get_PlayReadyCertificateSecurityLevel(&value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics3::SecureStopServiceRequestType() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics3)->get_SecureStopServiceRequestType(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics3::CheckSupportedHardware(winrt::Windows::Media::Protection::PlayReady::PlayReadyHardwareDRMFeatures const& hwdrmFeature) const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics3)->CheckSupportedHardware(static_cast(hwdrmFeature), &value)); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics4::InputTrustAuthorityToCreate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics4)->get_InputTrustAuthorityToCreate(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics4::ProtectionSystemId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics4)->get_ProtectionSystemId(put_abi(value))); return value; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics5::HardwareDRMDisabledAtTime() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics5)->get_HardwareDRMDisabledAtTime(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics5::HardwareDRMDisabledUntilTime() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics5)->get_HardwareDRMDisabledUntilTime(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Protection_PlayReady_IPlayReadyStatics5::ResetHardwareDRMDisabled() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics5)->ResetHardwareDRMDisabled()); } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_RegistrationCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RegistrationCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RegistrationCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RegistrationCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ProximityDetectionCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ProximityDetectionCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ProximityDetectionCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ProximityDetectionCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_LicenseFetchCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().LicenseFetchCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_LicenseFetchCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().LicenseFetchCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ReRegistrationNeeded(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ReRegistrationNeeded(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ReRegistrationNeeded(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ReRegistrationNeeded(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ClosedCaptionDataReceived(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ClosedCaptionDataReceived(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ClosedCaptionDataReceived(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ClosedCaptionDataReceived(*reinterpret_cast(&token)); return 0; } int32_t __stdcall StartAsync(void* contentUrl, uint32_t startAsyncOptions, void* registrationCustomData, void* licenseFetchDescriptor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().StartAsync(*reinterpret_cast(&contentUrl), startAsyncOptions, *reinterpret_cast(®istrationCustomData), *reinterpret_cast(&licenseFetchDescriptor))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall LicenseFetchAsync(void* licenseFetchDescriptor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().LicenseFetchAsync(*reinterpret_cast(&licenseFetchDescriptor))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReRegistrationAsync(void* registrationCustomData, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ReRegistrationAsync(*reinterpret_cast(®istrationCustomData))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Close() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Close(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* downloadEngine, void* streamParser, void* pMessenger, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(*reinterpret_cast(&downloadEngine), *reinterpret_cast(&streamParser), *reinterpret_cast(&pMessenger))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_ClosedCaptionDataFormat(int32_t* ccForamt) noexcept final try { typename D::abi_guard guard(this->shim()); *ccForamt = detach_from(this->shim().ClosedCaptionDataFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PresentationTimestamp(int64_t* presentationTimestamp) noexcept final try { typename D::abi_guard guard(this->shim()); *presentationTimestamp = detach_from(this->shim().PresentationTimestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ClosedCaptionData(uint32_t* __ccDataBytesSize, uint8_t** ccDataBytes) noexcept final try { clear_abi(ccDataBytes); typename D::abi_guard guard(this->shim()); std::tie(*__ccDataBytesSize, *ccDataBytes) = detach_abi(this->shim().ClosedCaptionData()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_CustomDataTypeID(uint32_t* __customDataTypeIDBytesSize, uint8_t** customDataTypeIDBytes) noexcept final try { clear_abi(customDataTypeIDBytes); typename D::abi_guard guard(this->shim()); std::tie(*__customDataTypeIDBytesSize, *customDataTypeIDBytes) = detach_abi(this->shim().CustomDataTypeID()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CustomData(uint32_t* __customDataBytesSize, uint8_t** customDataBytes) noexcept final try { clear_abi(customDataBytes); typename D::abi_guard guard(this->shim()); std::tie(*__customDataBytesSize, *customDataBytes) = detach_abi(this->shim().CustomData()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(uint32_t __customDataTypeIDBytesSize, uint8_t* customDataTypeIDBytes, uint32_t __customDataBytesSize, uint8_t* customDataBytes, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(array_view(reinterpret_cast(customDataTypeIDBytes), reinterpret_cast(customDataTypeIDBytes) + __customDataTypeIDBytesSize), array_view(reinterpret_cast(customDataBytes), reinterpret_cast(customDataBytes) + __customDataBytesSize))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall Open(void* uri, uint32_t __sessionIDBytesSize, uint8_t* sessionIDBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Open(*reinterpret_cast(&uri), array_view(reinterpret_cast(sessionIDBytes), reinterpret_cast(sessionIDBytes) + __sessionIDBytesSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Pause() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Pause(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Resume() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Resume(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Close() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Close(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Seek(int64_t startPosition) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Seek(*reinterpret_cast(&startPosition)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CanSeek(bool* canSeek) noexcept final try { typename D::abi_guard guard(this->shim()); *canSeek = detach_from(this->shim().CanSeek()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BufferFullMinThresholdInSamples(uint32_t* bufferFullMinThreshold) noexcept final try { typename D::abi_guard guard(this->shim()); *bufferFullMinThreshold = detach_from(this->shim().BufferFullMinThresholdInSamples()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BufferFullMaxThresholdInSamples(uint32_t* bufferFullMaxThreshold) noexcept final try { typename D::abi_guard guard(this->shim()); *bufferFullMaxThreshold = detach_from(this->shim().BufferFullMaxThresholdInSamples()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Notifier(void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().Notifier()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall OnStreamOpened() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnStreamOpened(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnPlayReadyObjectReceived(uint32_t __dataBytesSize, uint8_t* dataBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnPlayReadyObjectReceived(array_view(reinterpret_cast(dataBytes), reinterpret_cast(dataBytes) + __dataBytesSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnContentIDReceived(void* licenseFetchDescriptor) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnContentIDReceived(*reinterpret_cast(&licenseFetchDescriptor)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnDataReceived(uint32_t __dataBytesSize, uint8_t* dataBytes, uint32_t bytesReceived) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnDataReceived(array_view(reinterpret_cast(dataBytes), reinterpret_cast(dataBytes) + __dataBytesSize), bytesReceived); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnEndOfStream() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnEndOfStream(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnNetworkError() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnNetworkError(); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_ResponseCustomData(void** customData) noexcept final try { clear_abi(customData); typename D::abi_guard guard(this->shim()); *customData = detach_from(this->shim().ResponseCustomData()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_ContentIDType(int32_t* contentIDType) noexcept final try { typename D::abi_guard guard(this->shim()); *contentIDType = detach_from(this->shim().ContentIDType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContentID(uint32_t* __contentIDBytesSize, uint8_t** contentIDBytes) noexcept final try { clear_abi(contentIDBytes); typename D::abi_guard guard(this->shim()); std::tie(*__contentIDBytesSize, *contentIDBytes) = detach_abi(this->shim().ContentID()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LicenseFetchChallengeCustomData(void** licenseFetchChallengeCustomData) noexcept final try { clear_abi(licenseFetchChallengeCustomData); typename D::abi_guard guard(this->shim()); *licenseFetchChallengeCustomData = detach_from(this->shim().LicenseFetchChallengeCustomData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LicenseFetchChallengeCustomData(void* licenseFetchChallengeCustomData) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LicenseFetchChallengeCustomData(*reinterpret_cast(&licenseFetchChallengeCustomData)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(int32_t contentIDType, uint32_t __contentIDBytesSize, uint8_t* contentIDBytes, void* licenseFetchChallengeCustomData, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(*reinterpret_cast(&contentIDType), array_view(reinterpret_cast(contentIDBytes), reinterpret_cast(contentIDBytes) + __contentIDBytesSize), *reinterpret_cast(&licenseFetchChallengeCustomData))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_ResponseCustomData(void** customData) noexcept final try { clear_abi(customData); typename D::abi_guard guard(this->shim()); *customData = detach_from(this->shim().ResponseCustomData()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall SendRegistrationRequestAsync(uint32_t __sessionIDBytesSize, uint8_t* sessionIDBytes, uint32_t __challengeDataBytesSize, uint8_t* challengeDataBytes, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().SendRegistrationRequestAsync(array_view(reinterpret_cast(sessionIDBytes), reinterpret_cast(sessionIDBytes) + __sessionIDBytesSize), array_view(reinterpret_cast(challengeDataBytes), reinterpret_cast(challengeDataBytes) + __challengeDataBytesSize))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendProximityDetectionStartAsync(int32_t pdType, uint32_t __transmitterChannelBytesSize, uint8_t* transmitterChannelBytes, uint32_t __sessionIDBytesSize, uint8_t* sessionIDBytes, uint32_t __challengeDataBytesSize, uint8_t* challengeDataBytes, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().SendProximityDetectionStartAsync(*reinterpret_cast(&pdType), array_view(reinterpret_cast(transmitterChannelBytes), reinterpret_cast(transmitterChannelBytes) + __transmitterChannelBytesSize), array_view(reinterpret_cast(sessionIDBytes), reinterpret_cast(sessionIDBytes) + __sessionIDBytesSize), array_view(reinterpret_cast(challengeDataBytes), reinterpret_cast(challengeDataBytes) + __challengeDataBytesSize))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendProximityDetectionResponseAsync(int32_t pdType, uint32_t __transmitterChannelBytesSize, uint8_t* transmitterChannelBytes, uint32_t __sessionIDBytesSize, uint8_t* sessionIDBytes, uint32_t __responseDataBytesSize, uint8_t* responseDataBytes, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().SendProximityDetectionResponseAsync(*reinterpret_cast(&pdType), array_view(reinterpret_cast(transmitterChannelBytes), reinterpret_cast(transmitterChannelBytes) + __transmitterChannelBytesSize), array_view(reinterpret_cast(sessionIDBytes), reinterpret_cast(sessionIDBytes) + __sessionIDBytesSize), array_view(reinterpret_cast(responseDataBytes), reinterpret_cast(responseDataBytes) + __responseDataBytesSize))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendLicenseFetchRequestAsync(uint32_t __sessionIDBytesSize, uint8_t* sessionIDBytes, uint32_t __challengeDataBytesSize, uint8_t* challengeDataBytes, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().SendLicenseFetchRequestAsync(array_view(reinterpret_cast(sessionIDBytes), reinterpret_cast(sessionIDBytes) + __sessionIDBytesSize), array_view(reinterpret_cast(challengeDataBytes), reinterpret_cast(challengeDataBytes) + __challengeDataBytesSize))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_ProximityDetectionRetryCount(uint32_t* retryCount) noexcept final try { typename D::abi_guard guard(this->shim()); *retryCount = detach_from(this->shim().ProximityDetectionRetryCount()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_ResponseCustomData(void** customData) noexcept final try { clear_abi(customData); typename D::abi_guard guard(this->shim()); *customData = detach_from(this->shim().ResponseCustomData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransmitterProperties(void** transmitterProperties) noexcept final try { clear_abi(transmitterProperties); typename D::abi_guard guard(this->shim()); *transmitterProperties = detach_from(this->shim().TransmitterProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransmitterCertificateAccepted(bool* acceptpt) noexcept final try { typename D::abi_guard guard(this->shim()); *acceptpt = detach_from(this->shim().TransmitterCertificateAccepted()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TransmitterCertificateAccepted(bool accept) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TransmitterCertificateAccepted(accept); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_Response(uint32_t* __responseDataBytesSize, uint8_t** responseDataBytes) noexcept final try { clear_abi(responseDataBytes); typename D::abi_guard guard(this->shim()); std::tie(*__responseDataBytesSize, *responseDataBytes) = detach_abi(this->shim().Response()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_MediaStreamSource(void** mediaStreamSource) noexcept final try { clear_abi(mediaStreamSource); typename D::abi_guard guard(this->shim()); *mediaStreamSource = detach_from(this->shim().MediaStreamSource()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetFileURLs(void* file, void** fileURLs) noexcept final try { clear_abi(fileURLs); typename D::abi_guard guard(this->shim()); *fileURLs = detach_from>(this->shim().GetFileURLs(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall ParseData(uint32_t __dataBytesSize, uint8_t* dataBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ParseData(array_view(reinterpret_cast(dataBytes), reinterpret_cast(dataBytes) + __dataBytesSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetStreamInformation(void* descriptor, int32_t* streamType, uint32_t* streamID) noexcept final try { typename D::abi_guard guard(this->shim()); *streamID = detach_from(this->shim().GetStreamInformation(*reinterpret_cast(&descriptor), *reinterpret_cast(streamType))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall BeginOfStream() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BeginOfStream(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EndOfStream() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EndOfStream(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Notifier(void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().Notifier()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall OnContentIDReceived(void* licenseFetchDescriptor) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnContentIDReceived(*reinterpret_cast(&licenseFetchDescriptor)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnMediaStreamDescriptorCreated(void* audioStreamDescriptors, void* videoStreamDescriptors) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnMediaStreamDescriptorCreated(*reinterpret_cast const*>(&audioStreamDescriptors), *reinterpret_cast const*>(&videoStreamDescriptors)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnSampleParsed(uint32_t streamID, int32_t streamType, void* streamSample, int64_t pts, int32_t ccFormat, uint32_t __ccDataBytesSize, uint8_t* ccDataBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnSampleParsed(streamID, *reinterpret_cast(&streamType), *reinterpret_cast(&streamSample), pts, *reinterpret_cast(&ccFormat), array_view(reinterpret_cast(ccDataBytes), reinterpret_cast(ccDataBytes) + __ccDataBytesSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OnBeginSetupDecryptor(void* descriptor, winrt::guid keyID, uint32_t __proBytesSize, uint8_t* proBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnBeginSetupDecryptor(*reinterpret_cast(&descriptor), *reinterpret_cast(&keyID), array_view(reinterpret_cast(proBytes), reinterpret_cast(proBytes) + __proBytesSize)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* remoteHostName, uint32_t remoteHostPort, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(*reinterpret_cast(&remoteHostName), remoteHostPort)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_CertificateType(int32_t* type) noexcept final try { typename D::abi_guard guard(this->shim()); *type = detach_from(this->shim().CertificateType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PlatformIdentifier(int32_t* identifier) noexcept final try { typename D::abi_guard guard(this->shim()); *identifier = detach_from(this->shim().PlatformIdentifier()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SupportedFeatures(uint32_t* __featureSetsSize, int32_t** featureSets) noexcept final try { clear_abi(featureSets); typename D::abi_guard guard(this->shim()); std::tie(*__featureSetsSize, *featureSets) = detach_abi(this->shim().SupportedFeatures()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SecurityLevel(uint32_t* level) noexcept final try { typename D::abi_guard guard(this->shim()); *level = detach_from(this->shim().SecurityLevel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SecurityVersion(uint32_t* securityVersion) noexcept final try { typename D::abi_guard guard(this->shim()); *securityVersion = detach_from(this->shim().SecurityVersion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExpirationDate(int64_t* expirationDate) noexcept final try { zero_abi(expirationDate); typename D::abi_guard guard(this->shim()); *expirationDate = detach_from(this->shim().ExpirationDate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ClientID(uint32_t* __clientIDBytesSize, uint8_t** clientIDBytes) noexcept final try { clear_abi(clientIDBytes); typename D::abi_guard guard(this->shim()); std::tie(*__clientIDBytesSize, *clientIDBytes) = detach_abi(this->shim().ClientID()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelDigest(uint32_t* __modelDigestBytesSize, uint8_t** modelDigestBytes) noexcept final try { clear_abi(modelDigestBytes); typename D::abi_guard guard(this->shim()); std::tie(*__modelDigestBytesSize, *modelDigestBytes) = detach_abi(this->shim().ModelDigest()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelManufacturerName(void** modelManufacturerName) noexcept final try { clear_abi(modelManufacturerName); typename D::abi_guard guard(this->shim()); *modelManufacturerName = detach_from(this->shim().ModelManufacturerName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelName(void** modelName) noexcept final try { clear_abi(modelName); typename D::abi_guard guard(this->shim()); *modelName = detach_from(this->shim().ModelName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelNumber(void** modelNumber) noexcept final try { clear_abi(modelNumber); typename D::abi_guard guard(this->shim()); *modelNumber = detach_from(this->shim().ModelNumber()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_KeyId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().KeyId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_KeyIdString(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().KeyIdString()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LicenseAcquisitionUrl(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LicenseAcquisitionUrl()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LicenseAcquisitionUserInterfaceUrl(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LicenseAcquisitionUserInterfaceUrl()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainServiceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainServiceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EncryptionType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncryptionType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CustomAttributes(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CustomAttributes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecryptorSetup(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecryptorSetup()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSerializedHeader(uint32_t* __headerBytesSize, uint8_t** headerBytes) noexcept final try { clear_abi(headerBytes); typename D::abi_guard guard(this->shim()); std::tie(*__headerBytesSize, *headerBytes) = detach_abi(this->shim().GetSerializedHeader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HeaderWithEmbeddedUpdates(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HeaderWithEmbeddedUpdates()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_KeyIds(uint32_t* __contentKeyIdsSize, winrt::guid** contentKeyIds) noexcept final try { clear_abi(contentKeyIds); typename D::abi_guard guard(this->shim()); std::tie(*__contentKeyIdsSize, *contentKeyIds) = detach_abi(this->shim().KeyIds()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_KeyIdStrings(uint32_t* __contentKeyIdStringsSize, void*** contentKeyIdStrings) noexcept final try { clear_abi(contentKeyIdStrings); typename D::abi_guard guard(this->shim()); std::tie(*__contentKeyIdStringsSize, *contentKeyIdStrings) = detach_abi(this->shim().KeyIdStrings()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceFromWindowsMediaDrmHeader(uint32_t __headerBytesSize, uint8_t* headerBytes, void* licenseAcquisitionUrl, void* licenseAcquisitionUserInterfaceUrl, void* customAttributes, winrt::guid domainServiceId, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstanceFromWindowsMediaDrmHeader(array_view(reinterpret_cast(headerBytes), reinterpret_cast(headerBytes) + __headerBytesSize), *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), *reinterpret_cast(&domainServiceId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceFromComponents(winrt::guid contentKeyId, void* contentKeyIdString, int32_t contentEncryptionAlgorithm, void* licenseAcquisitionUrl, void* licenseAcquisitionUserInterfaceUrl, void* customAttributes, winrt::guid domainServiceId, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstanceFromComponents(*reinterpret_cast(&contentKeyId), *reinterpret_cast(&contentKeyIdString), *reinterpret_cast(&contentEncryptionAlgorithm), *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), *reinterpret_cast(&domainServiceId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceFromPlayReadyHeader(uint32_t __headerBytesSize, uint8_t* headerBytes, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstanceFromPlayReadyHeader(array_view(reinterpret_cast(headerBytes), reinterpret_cast(headerBytes) + __headerBytesSize))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceFromComponents2(uint32_t dwFlags, uint32_t __contentKeyIdsSize, winrt::guid* contentKeyIds, uint32_t __contentKeyIdStringsSize, void** contentKeyIdStrings, int32_t contentEncryptionAlgorithm, void* licenseAcquisitionUrl, void* licenseAcquisitionUserInterfaceUrl, void* customAttributes, winrt::guid domainServiceId, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstanceFromComponents2(dwFlags, array_view(reinterpret_cast(contentKeyIds), reinterpret_cast(contentKeyIds) + __contentKeyIdsSize), array_view(reinterpret_cast(contentKeyIdStrings), reinterpret_cast(contentKeyIdStrings) + __contentKeyIdStringsSize), *reinterpret_cast(&contentEncryptionAlgorithm), *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), *reinterpret_cast(&domainServiceId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ServiceRequest(void* contentHeader, void** serviceRequest) noexcept final try { clear_abi(serviceRequest); typename D::abi_guard guard(this->shim()); *serviceRequest = detach_from(this->shim().ServiceRequest(*reinterpret_cast(&contentHeader))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_AccountId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AccountId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ServiceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ServiceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Revision(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Revision()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainJoinUrl(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainJoinUrl()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(winrt::guid domainAccountId, void** domainIterable) noexcept final try { clear_abi(domainIterable); typename D::abi_guard guard(this->shim()); *domainIterable = detach_from(this->shim().CreateInstance(*reinterpret_cast(&domainAccountId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DomainAccountId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainAccountId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainAccountId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainAccountId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainFriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainFriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainFriendlyName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainFriendlyName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainServiceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainServiceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainServiceId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainServiceId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DomainAccountId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainAccountId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainAccountId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainAccountId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainServiceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainServiceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainServiceId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainServiceId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GenerateData(winrt::guid guidCPSystemId, uint32_t countOfStreams, void* configuration, int32_t format, uint32_t* __dataBytesSize, uint8_t** dataBytes) noexcept final try { clear_abi(dataBytes); typename D::abi_guard guard(this->shim()); std::tie(*__dataBytesSize, *dataBytes) = detach_abi(this->shim().GenerateData(*reinterpret_cast(&guidCPSystemId), countOfStreams, *reinterpret_cast(&configuration), *reinterpret_cast(&format))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif template struct produce : produce_base { int32_t __stdcall get_FullyEvaluated(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FullyEvaluated()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UsableForPlay(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UsableForPlay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExpirationDate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ExpirationDate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExpireAfterFirstPlay(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExpireAfterFirstPlay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainAccountID(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainAccountID()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ChainDepth(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChainDepth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetKIDAtChainDepth(uint32_t chainDepth, winrt::guid* kid) noexcept final try { typename D::abi_guard guard(this->shim()); *kid = detach_from(this->shim().GetKIDAtChainDepth(chainDepth)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SecureStopId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SecureStopId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SecurityLevel(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SecurityLevel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InMemoryOnly(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InMemoryOnly()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExpiresInRealTime(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExpiresInRealTime()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_ContentHeader(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContentHeader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ContentHeader(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ContentHeader(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainServiceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainServiceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DomainServiceId(winrt::guid value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DomainServiceId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SessionId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SessionId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateLicenseIterable(void* contentHeader, bool fullyEvaluated, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateLicenseIterable(*reinterpret_cast(&contentHeader), fullyEvaluated)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* contentHeader, bool fullyEvaluated, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(*reinterpret_cast(&contentHeader), fullyEvaluated)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall DeleteLicenses(void* contentHeader, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().DeleteLicenses(*reinterpret_cast(&contentHeader))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall CreateLAServiceRequest(void** serviceRequest) noexcept final try { clear_abi(serviceRequest); typename D::abi_guard guard(this->shim()); *serviceRequest = detach_from(this->shim().CreateLAServiceRequest()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureMediaProtectionManager(void* mpm) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureMediaProtectionManager(*reinterpret_cast(&mpm)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall CreateLicenseIterable(void* contentHeader, bool fullyEvaluated, void** licenseIterable) noexcept final try { clear_abi(licenseIterable); typename D::abi_guard guard(this->shim()); *licenseIterable = detach_from(this->shim().CreateLicenseIterable(*reinterpret_cast(&contentHeader), fullyEvaluated)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* configuration, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(*reinterpret_cast(&configuration))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MeteringCertificate(uint32_t* __meteringCertBytesSize, uint8_t** meteringCertBytes) noexcept final try { clear_abi(meteringCertBytes); typename D::abi_guard guard(this->shim()); std::tie(*__meteringCertBytesSize, *meteringCertBytes) = detach_abi(this->shim().MeteringCertificate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MeteringCertificate(uint32_t __meteringCertBytesSize, uint8_t* meteringCertBytes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MeteringCertificate(array_view(reinterpret_cast(meteringCertBytes), reinterpret_cast(meteringCertBytes) + __meteringCertBytesSize)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(uint32_t __publisherCertBytesSize, uint8_t* publisherCertBytes, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(array_view(reinterpret_cast(publisherCertBytes), reinterpret_cast(publisherCertBytes) + __publisherCertBytesSize))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_SessionID(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SessionID()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UpdateTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UpdateTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Stopped(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Stopped()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PublisherCertificate(uint32_t* __publisherCertBytesSize, uint8_t** publisherCertBytes) noexcept final try { clear_abi(publisherCertBytes); typename D::abi_guard guard(this->shim()); std::tie(*__publisherCertBytesSize, *publisherCertBytes) = detach_abi(this->shim().PublisherCertificate()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(uint32_t __publisherCertBytesSize, uint8_t* publisherCertBytes, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstance(array_view(reinterpret_cast(publisherCertBytes), reinterpret_cast(publisherCertBytes) + __publisherCertBytesSize))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceFromSessionID(winrt::guid sessionID, uint32_t __publisherCertBytesSize, uint8_t* publisherCertBytes, void** instance) noexcept final try { clear_abi(instance); typename D::abi_guard guard(this->shim()); *instance = detach_from(this->shim().CreateInstanceFromSessionID(*reinterpret_cast(&sessionID), array_view(reinterpret_cast(publisherCertBytes), reinterpret_cast(publisherCertBytes) + __publisherCertBytesSize))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_Uri(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Uri()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Uri(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Uri(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ResponseCustomData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ResponseCustomData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ChallengeCustomData(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChallengeCustomData()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ChallengeCustomData(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ChallengeCustomData(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall BeginServiceRequest(void** action) noexcept final try { clear_abi(action); typename D::abi_guard guard(this->shim()); *action = detach_from(this->shim().BeginServiceRequest()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NextServiceRequest(void** serviceRequest) noexcept final try { clear_abi(serviceRequest); typename D::abi_guard guard(this->shim()); *serviceRequest = detach_from(this->shim().NextServiceRequest()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateManualEnablingChallenge(void** challengeMessage) noexcept final try { clear_abi(challengeMessage); typename D::abi_guard guard(this->shim()); *challengeMessage = detach_from(this->shim().GenerateManualEnablingChallenge()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ProcessManualEnablingResponse(uint32_t __responseBytesSize, uint8_t* responseBytes, winrt::hresult* result) noexcept final try { zero_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ProcessManualEnablingResponse(array_view(reinterpret_cast(responseBytes), reinterpret_cast(responseBytes) + __responseBytesSize))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetMessageBody(uint32_t* __messageBodyBytesSize, uint8_t** messageBodyBytes) noexcept final try { clear_abi(messageBodyBytes); typename D::abi_guard guard(this->shim()); std::tie(*__messageBodyBytesSize, *messageBodyBytes) = detach_abi(this->shim().GetMessageBody()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MessageHeaders(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MessageHeaders()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Uri(void** messageUri) noexcept final try { clear_abi(messageUri); typename D::abi_guard guard(this->shim()); *messageUri = detach_from(this->shim().Uri()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DomainJoinServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainJoinServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DomainLeaveServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DomainLeaveServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IndividualizationServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IndividualizationServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LicenseAcquirerServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LicenseAcquirerServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MeteringReportServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MeteringReportServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RevocationServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RevocationServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaProtectionSystemId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaProtectionSystemId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PlayReadySecurityVersion(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlayReadySecurityVersion()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PlayReadyCertificateSecurityLevel(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlayReadyCertificateSecurityLevel()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SecureStopServiceRequestType(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SecureStopServiceRequestType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CheckSupportedHardware(int32_t hwdrmFeature, bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CheckSupportedHardware(*reinterpret_cast(&hwdrmFeature))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InputTrustAuthorityToCreate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InputTrustAuthorityToCreate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProtectionSystemId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProtectionSystemId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HardwareDRMDisabledAtTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().HardwareDRMDisabledAtTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HardwareDRMDisabledUntilTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().HardwareDRMDisabledUntilTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ResetHardwareDRMDisabled() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ResetHardwareDRMDisabled(); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Media::Protection::PlayReady { inline NDClient::NDClient(winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine const& downloadEngine, winrt::Windows::Media::Protection::PlayReady::INDStreamParser const& streamParser, winrt::Windows::Media::Protection::PlayReady::INDMessenger const& pMessenger) : NDClient(impl::call_factory([&](INDClientFactory const& f) { return f.CreateInstance(downloadEngine, streamParser, pMessenger); })) { } inline NDCustomData::NDCustomData(array_view customDataTypeIDBytes, array_view customDataBytes) : NDCustomData(impl::call_factory([&](INDCustomDataFactory const& f) { return f.CreateInstance(customDataTypeIDBytes, customDataBytes); })) { } inline NDDownloadEngineNotifier::NDDownloadEngineNotifier() : NDDownloadEngineNotifier(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline NDLicenseFetchDescriptor::NDLicenseFetchDescriptor(winrt::Windows::Media::Protection::PlayReady::NDContentIDType const& contentIDType, array_view contentIDBytes, winrt::Windows::Media::Protection::PlayReady::INDCustomData const& licenseFetchChallengeCustomData) : NDLicenseFetchDescriptor(impl::call_factory([&](INDLicenseFetchDescriptorFactory const& f) { return f.CreateInstance(contentIDType, contentIDBytes, licenseFetchChallengeCustomData); })) { } inline NDStorageFileHelper::NDStorageFileHelper() : NDStorageFileHelper(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline NDStreamParserNotifier::NDStreamParserNotifier() : NDStreamParserNotifier(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline NDTCPMessenger::NDTCPMessenger(param::hstring const& remoteHostName, uint32_t remoteHostPort) : NDTCPMessenger(impl::call_factory([&](INDTCPMessengerFactory const& f) { return f.CreateInstance(remoteHostName, remoteHostPort); })) { } inline PlayReadyContentHeader::PlayReadyContentHeader(array_view headerBytes, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) : PlayReadyContentHeader(impl::call_factory([&](IPlayReadyContentHeaderFactory const& f) { return f.CreateInstanceFromWindowsMediaDrmHeader(headerBytes, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId); })) { } inline PlayReadyContentHeader::PlayReadyContentHeader(winrt::guid const& contentKeyId, param::hstring const& contentKeyIdString, winrt::Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) : PlayReadyContentHeader(impl::call_factory([&](IPlayReadyContentHeaderFactory const& f) { return f.CreateInstanceFromComponents(contentKeyId, contentKeyIdString, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId); })) { } inline PlayReadyContentHeader::PlayReadyContentHeader(array_view headerBytes) : PlayReadyContentHeader(impl::call_factory([&](IPlayReadyContentHeaderFactory const& f) { return f.CreateInstanceFromPlayReadyHeader(headerBytes); })) { } inline PlayReadyContentHeader::PlayReadyContentHeader(uint32_t dwFlags, array_view contentKeyIds, array_view contentKeyIdStrings, winrt::Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm const& contentEncryptionAlgorithm, winrt::Windows::Foundation::Uri const& licenseAcquisitionUrl, winrt::Windows::Foundation::Uri const& licenseAcquisitionUserInterfaceUrl, param::hstring const& customAttributes, winrt::guid const& domainServiceId) : PlayReadyContentHeader(impl::call_factory([&](IPlayReadyContentHeaderFactory2 const& f) { return f.CreateInstanceFromComponents2(dwFlags, contentKeyIds, contentKeyIdStrings, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId); })) { } inline auto PlayReadyContentResolver::ServiceRequest(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader) { return impl::call_factory([&](IPlayReadyContentResolver const& f) { return f.ServiceRequest(contentHeader); }); } inline PlayReadyDomainIterable::PlayReadyDomainIterable(winrt::guid const& domainAccountId) : PlayReadyDomainIterable(impl::call_factory([&](IPlayReadyDomainIterableFactory const& f) { return f.CreateInstance(domainAccountId); })) { } inline PlayReadyDomainJoinServiceRequest::PlayReadyDomainJoinServiceRequest() : PlayReadyDomainJoinServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyDomainLeaveServiceRequest::PlayReadyDomainLeaveServiceRequest() : PlayReadyDomainLeaveServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyITADataGenerator::PlayReadyITADataGenerator() : PlayReadyITADataGenerator(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyIndividualizationServiceRequest::PlayReadyIndividualizationServiceRequest() : PlayReadyIndividualizationServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyLicenseAcquisitionServiceRequest::PlayReadyLicenseAcquisitionServiceRequest() : PlayReadyLicenseAcquisitionServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyLicenseIterable::PlayReadyLicenseIterable() : PlayReadyLicenseIterable(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyLicenseIterable::PlayReadyLicenseIterable(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader, bool fullyEvaluated) : PlayReadyLicenseIterable(impl::call_factory([&](IPlayReadyLicenseIterableFactory const& f) { return f.CreateInstance(contentHeader, fullyEvaluated); })) { } inline auto PlayReadyLicenseManagement::DeleteLicenses(winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader const& contentHeader) { return impl::call_factory([&](IPlayReadyLicenseManagement const& f) { return f.DeleteLicenses(contentHeader); }); } inline PlayReadyLicenseSession::PlayReadyLicenseSession(winrt::Windows::Foundation::Collections::IPropertySet const& configuration) : PlayReadyLicenseSession(impl::call_factory([&](IPlayReadyLicenseSessionFactory const& f) { return f.CreateInstance(configuration); })) { } inline PlayReadyMeteringReportServiceRequest::PlayReadyMeteringReportServiceRequest() : PlayReadyMeteringReportServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadyRevocationServiceRequest::PlayReadyRevocationServiceRequest() : PlayReadyRevocationServiceRequest(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PlayReadySecureStopIterable::PlayReadySecureStopIterable(array_view publisherCertBytes) : PlayReadySecureStopIterable(impl::call_factory([&](IPlayReadySecureStopIterableFactory const& f) { return f.CreateInstance(publisherCertBytes); })) { } inline PlayReadySecureStopServiceRequest::PlayReadySecureStopServiceRequest(array_view publisherCertBytes) : PlayReadySecureStopServiceRequest(impl::call_factory([&](IPlayReadySecureStopServiceRequestFactory const& f) { return f.CreateInstance(publisherCertBytes); })) { } inline PlayReadySecureStopServiceRequest::PlayReadySecureStopServiceRequest(winrt::guid const& sessionID, array_view publisherCertBytes) : PlayReadySecureStopServiceRequest(impl::call_factory([&](IPlayReadySecureStopServiceRequestFactory const& f) { return f.CreateInstanceFromSessionID(sessionID, publisherCertBytes); })) { } inline auto PlayReadyStatics::DomainJoinServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.DomainJoinServiceRequestType(); }); } inline auto PlayReadyStatics::DomainLeaveServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.DomainLeaveServiceRequestType(); }); } inline auto PlayReadyStatics::IndividualizationServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.IndividualizationServiceRequestType(); }); } inline auto PlayReadyStatics::LicenseAcquirerServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.LicenseAcquirerServiceRequestType(); }); } inline auto PlayReadyStatics::MeteringReportServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.MeteringReportServiceRequestType(); }); } inline auto PlayReadyStatics::RevocationServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.RevocationServiceRequestType(); }); } inline auto PlayReadyStatics::MediaProtectionSystemId() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.MediaProtectionSystemId(); }); } inline auto PlayReadyStatics::PlayReadySecurityVersion() { return impl::call_factory_cast([](IPlayReadyStatics const& f) { return f.PlayReadySecurityVersion(); }); } inline auto PlayReadyStatics::PlayReadyCertificateSecurityLevel() { return impl::call_factory_cast([](IPlayReadyStatics2 const& f) { return f.PlayReadyCertificateSecurityLevel(); }); } inline auto PlayReadyStatics::SecureStopServiceRequestType() { return impl::call_factory_cast([](IPlayReadyStatics3 const& f) { return f.SecureStopServiceRequestType(); }); } inline auto PlayReadyStatics::CheckSupportedHardware(winrt::Windows::Media::Protection::PlayReady::PlayReadyHardwareDRMFeatures const& hwdrmFeature) { return impl::call_factory([&](IPlayReadyStatics3 const& f) { return f.CheckSupportedHardware(hwdrmFeature); }); } inline auto PlayReadyStatics::InputTrustAuthorityToCreate() { return impl::call_factory_cast([](IPlayReadyStatics4 const& f) { return f.InputTrustAuthorityToCreate(); }); } inline auto PlayReadyStatics::ProtectionSystemId() { return impl::call_factory_cast([](IPlayReadyStatics4 const& f) { return f.ProtectionSystemId(); }); } inline auto PlayReadyStatics::HardwareDRMDisabledAtTime() { return impl::call_factory_cast(*)(IPlayReadyStatics5 const&), PlayReadyStatics, IPlayReadyStatics5>([](IPlayReadyStatics5 const& f) { return f.HardwareDRMDisabledAtTime(); }); } inline auto PlayReadyStatics::HardwareDRMDisabledUntilTime() { return impl::call_factory_cast(*)(IPlayReadyStatics5 const&), PlayReadyStatics, IPlayReadyStatics5>([](IPlayReadyStatics5 const& f) { return f.HardwareDRMDisabledUntilTime(); }); } inline auto PlayReadyStatics::ResetHardwareDRMDisabled() { impl::call_factory_cast([](IPlayReadyStatics5 const& f) { return f.ResetHardwareDRMDisabled(); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif