// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Media_Audio_H #define WINRT_Windows_Media_Audio_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Windows.Media.h" #include "winrt/impl/Windows.Devices.Enumeration.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Foundation.Numerics.2.h" #include "winrt/impl/Windows.Media.2.h" #include "winrt/impl/Windows.Media.Capture.2.h" #include "winrt/impl/Windows.Media.Core.2.h" #include "winrt/impl/Windows.Media.Devices.2.h" #include "winrt/impl/Windows.Media.Effects.2.h" #include "winrt/impl/Windows.Media.MediaProperties.2.h" #include "winrt/impl/Windows.Media.Render.2.h" #include "winrt/impl/Windows.Media.Transcoding.2.h" #include "winrt/impl/Windows.Storage.2.h" #include "winrt/impl/Windows.Media.Audio.2.h" namespace winrt::impl { template auto consume_Windows_Media_Audio_IAudioDeviceInputNode::Device() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Device(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Device(&value)); } return winrt::Windows::Devices::Enumeration::DeviceInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioDeviceOutputNode::Device() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Device(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Device(&value)); } return winrt::Windows::Devices::Enumeration::DeviceInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::DeviceId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::EffectsPackId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EffectsPackId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EffectsPackId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::Status() const { winrt::Windows::Media::Audio::AudioEffectsPackStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::StatusChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_StatusChanged(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_StatusChanged(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::StatusChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, StatusChanged(handler)); } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfiguration::StatusChanged(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_StatusChanged(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_StatusChanged(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfigurationStatics::GetForDeviceId(param::hstring const& effectsPackId, param::hstring const& deviceId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetForDeviceId(*(void**)(&effectsPackId), *(void**)(&deviceId), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetForDeviceId(*(void**)(&effectsPackId), *(void**)(&deviceId), &result)); } return winrt::Windows::Media::Audio::AudioEffectsPackConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioEffectsPackConfigurationStatics::IsDeviceIdSupported(param::hstring const& effectsPackId, param::hstring const& deviceId) const { bool result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IsDeviceIdSupported(*(void**)(&effectsPackId), *(void**)(&deviceId), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IsDeviceIdSupported(*(void**)(&effectsPackId), *(void**)(&deviceId), &result)); } return result; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::PlaybackSpeedFactor(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } } template auto consume_Windows_Media_Audio_IAudioFileInputNode::PlaybackSpeedFactor() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::Position() const { winrt::Windows::Foundation::TimeSpan value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::Seek(winrt::Windows::Foundation::TimeSpan const& position) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Seek(impl::bind_in(position))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Seek(impl::bind_in(position))); } } template auto consume_Windows_Media_Audio_IAudioFileInputNode::StartTime() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_StartTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StartTime(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::StartTime(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_StartTime(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_StartTime(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioFileInputNode::EndTime() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EndTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EndTime(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::EndTime(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EndTime(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EndTime(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioFileInputNode::LoopCount() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LoopCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LoopCount(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::LoopCount(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_LoopCount(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_LoopCount(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioFileInputNode::Duration() const { winrt::Windows::Foundation::TimeSpan value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Duration(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Duration(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::SourceFile() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SourceFile(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SourceFile(&value)); } return winrt::Windows::Storage::StorageFile{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::FileCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_FileCompleted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_FileCompleted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioFileInputNode::FileCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, FileCompleted(handler)); } template auto consume_Windows_Media_Audio_IAudioFileInputNode::FileCompleted(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_FileCompleted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_FileCompleted(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioFileOutputNode::File() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_File(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_File(&value)); } return winrt::Windows::Storage::IStorageFile{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileOutputNode::FileEncodingProfile() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FileEncodingProfile(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FileEncodingProfile(&value)); } return winrt::Windows::Media::MediaProperties::MediaEncodingProfile{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFileOutputNode::FinalizeAsync() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FinalizeAsync(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FinalizeAsync(&result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFrameCompletedEventArgs::Frame() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Frame(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Frame(&value)); } return winrt::Windows::Media::AudioFrame{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::PlaybackSpeedFactor(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::PlaybackSpeedFactor() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::AddFrame(winrt::Windows::Media::AudioFrame const& frame) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddFrame(*(void**)(&frame))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddFrame(*(void**)(&frame))); } } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::DiscardQueuedFrames() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->DiscardQueuedFrames()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->DiscardQueuedFrames()); } } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::QueuedSampleCount() const { uint64_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_QueuedSampleCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_QueuedSampleCount(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::AudioFrameCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_AudioFrameCompleted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_AudioFrameCompleted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::AudioFrameCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, AudioFrameCompleted(handler)); } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::AudioFrameCompleted(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_AudioFrameCompleted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_AudioFrameCompleted(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::QuantumStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_QuantumStarted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_QuantumStarted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::QuantumStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, QuantumStarted(handler)); } template auto consume_Windows_Media_Audio_IAudioFrameInputNode::QuantumStarted(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_QuantumStarted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_QuantumStarted(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioFrameOutputNode::GetFrame() const { void* audioFrame{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetFrame(&audioFrame)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetFrame(&audioFrame)); } return winrt::Windows::Media::AudioFrame{ audioFrame, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFrameInputNode() const { void* frameInputNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFrameInputNode(&frameInputNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFrameInputNode(&frameInputNode)); } return winrt::Windows::Media::Audio::AudioFrameInputNode{ frameInputNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFrameInputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const { void* frameInputNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFrameInputNodeWithFormat(*(void**)(&encodingProperties), &frameInputNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFrameInputNodeWithFormat(*(void**)(&encodingProperties), &frameInputNode)); } return winrt::Windows::Media::Audio::AudioFrameInputNode{ frameInputNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDeviceInputNodeAsync(static_cast(category), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDeviceInputNodeAsync(static_cast(category), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatAsync(static_cast(category), *(void**)(&encodingProperties), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatAsync(static_cast(category), *(void**)(&encodingProperties), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Devices::Enumeration::DeviceInformation const& device) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatOnDeviceAsync(static_cast(category), *(void**)(&encodingProperties), *(void**)(&device), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatOnDeviceAsync(static_cast(category), *(void**)(&encodingProperties), *(void**)(&device), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFrameOutputNode() const { void* frameOutputNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFrameOutputNode(&frameOutputNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFrameOutputNode(&frameOutputNode)); } return winrt::Windows::Media::Audio::AudioFrameOutputNode{ frameOutputNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFrameOutputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const { void* frameOutputNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFrameOutputNodeWithFormat(*(void**)(&encodingProperties), &frameOutputNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFrameOutputNodeWithFormat(*(void**)(&encodingProperties), &frameOutputNode)); } return winrt::Windows::Media::Audio::AudioFrameOutputNode{ frameOutputNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateDeviceOutputNodeAsync() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDeviceOutputNodeAsync(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDeviceOutputNodeAsync(&result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFileInputNodeAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFileInputNodeAsync(*(void**)(&file), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFileInputNodeAsync(*(void**)(&file), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFileOutputNodeAsync(winrt::Windows::Storage::IStorageFile const& file) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFileOutputNodeAsync(*(void**)(&file), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFileOutputNodeAsync(*(void**)(&file), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateFileOutputNodeAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Media::MediaProperties::MediaEncodingProfile const& fileEncodingProfile) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFileOutputNodeWithFileProfileAsync(*(void**)(&file), *(void**)(&fileEncodingProfile), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFileOutputNodeWithFileProfileAsync(*(void**)(&file), *(void**)(&fileEncodingProfile), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateSubmixNode() const { void* submixNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateSubmixNode(&submixNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateSubmixNode(&submixNode)); } return winrt::Windows::Media::Audio::AudioSubmixNode{ submixNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::CreateSubmixNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const { void* submixNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateSubmixNodeWithFormat(*(void**)(&encodingProperties), &submixNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateSubmixNodeWithFormat(*(void**)(&encodingProperties), &submixNode)); } return winrt::Windows::Media::Audio::AudioSubmixNode{ submixNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::Start() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Start()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Start()); } } template auto consume_Windows_Media_Audio_IAudioGraph::Stop() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Stop()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Stop()); } } template auto consume_Windows_Media_Audio_IAudioGraph::ResetAllNodes() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ResetAllNodes()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ResetAllNodes()); } } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_QuantumStarted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_QuantumStarted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, QuantumStarted(handler)); } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumStarted(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_QuantumStarted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_QuantumStarted(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumProcessed(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_QuantumProcessed(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_QuantumProcessed(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumProcessed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, QuantumProcessed(handler)); } template auto consume_Windows_Media_Audio_IAudioGraph::QuantumProcessed(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_QuantumProcessed(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_QuantumProcessed(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioGraph::UnrecoverableErrorOccurred(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_UnrecoverableErrorOccurred(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_UnrecoverableErrorOccurred(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioGraph::UnrecoverableErrorOccurred(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, UnrecoverableErrorOccurred(handler)); } template auto consume_Windows_Media_Audio_IAudioGraph::UnrecoverableErrorOccurred(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_UnrecoverableErrorOccurred(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_UnrecoverableErrorOccurred(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioGraph::CompletedQuantumCount() const { uint64_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CompletedQuantumCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CompletedQuantumCount(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraph::EncodingProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } return winrt::Windows::Media::MediaProperties::AudioEncodingProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::LatencyInSamples() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LatencyInSamples(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LatencyInSamples(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraph::PrimaryRenderDevice() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PrimaryRenderDevice(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PrimaryRenderDevice(&value)); } return winrt::Windows::Devices::Enumeration::DeviceInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph::RenderDeviceAudioProcessing() const { winrt::Windows::Media::AudioProcessing value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RenderDeviceAudioProcessing(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RenderDeviceAudioProcessing(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioGraph::SamplesPerQuantum() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SamplesPerQuantum(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SamplesPerQuantum(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraph2::CreateFrameInputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const { void* frameInputNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFrameInputNodeWithFormatAndEmitter(*(void**)(&encodingProperties), *(void**)(&emitter), &frameInputNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFrameInputNodeWithFormatAndEmitter(*(void**)(&encodingProperties), *(void**)(&emitter), &frameInputNode)); } return winrt::Windows::Media::Audio::AudioFrameInputNode{ frameInputNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph2::CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Devices::Enumeration::DeviceInformation const& device, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(static_cast(category), *(void**)(&encodingProperties), *(void**)(&device), *(void**)(&emitter), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(static_cast(category), *(void**)(&encodingProperties), *(void**)(&device), *(void**)(&emitter), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph2::CreateFileInputNodeAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFileInputNodeWithEmitterAsync(*(void**)(&file), *(void**)(&emitter), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFileInputNodeWithEmitterAsync(*(void**)(&file), *(void**)(&emitter), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph2::CreateSubmixNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const { void* submixNode{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateSubmixNodeWithFormatAndEmitter(*(void**)(&encodingProperties), *(void**)(&emitter), &submixNode)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateSubmixNodeWithFormatAndEmitter(*(void**)(&encodingProperties), *(void**)(&emitter), &submixNode)); } return winrt::Windows::Media::Audio::AudioSubmixNode{ submixNode, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph2::CreateBatchUpdater() const { void* updater{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateBatchUpdater(&updater)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateBatchUpdater(&updater)); } return winrt::Windows::Media::Audio::AudioGraphBatchUpdater{ updater, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph3::CreateMediaSourceAudioInputNodeAsync(winrt::Windows::Media::Core::MediaSource const& mediaSource) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateMediaSourceAudioInputNodeAsync(*(void**)(&mediaSource), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateMediaSourceAudioInputNodeAsync(*(void**)(&mediaSource), &operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraph3::CreateMediaSourceAudioInputNodeAsync(winrt::Windows::Media::Core::MediaSource const& mediaSource, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateMediaSourceAudioInputNodeWithEmitterAsync(*(void**)(&mediaSource), *(void**)(&emitter), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateMediaSourceAudioInputNodeWithEmitterAsync(*(void**)(&mediaSource), *(void**)(&emitter), &operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphConnection::Destination() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Destination(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Destination(&value)); } return winrt::Windows::Media::Audio::IAudioNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphConnection::Gain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Gain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Gain(value)); } } template auto consume_Windows_Media_Audio_IAudioGraphConnection::Gain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Gain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Gain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::EncodingProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } return winrt::Windows::Media::MediaProperties::AudioEncodingProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::EncodingProperties(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EncodingProperties(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EncodingProperties(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings::PrimaryRenderDevice() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PrimaryRenderDevice(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PrimaryRenderDevice(&value)); } return winrt::Windows::Devices::Enumeration::DeviceInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::PrimaryRenderDevice(winrt::Windows::Devices::Enumeration::DeviceInformation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PrimaryRenderDevice(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PrimaryRenderDevice(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings::QuantumSizeSelectionMode() const { winrt::Windows::Media::Audio::QuantumSizeSelectionMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_QuantumSizeSelectionMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_QuantumSizeSelectionMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::QuantumSizeSelectionMode(winrt::Windows::Media::Audio::QuantumSizeSelectionMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_QuantumSizeSelectionMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_QuantumSizeSelectionMode(static_cast(value))); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings::DesiredSamplesPerQuantum() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DesiredSamplesPerQuantum(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DesiredSamplesPerQuantum(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::DesiredSamplesPerQuantum(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DesiredSamplesPerQuantum(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DesiredSamplesPerQuantum(value)); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings::AudioRenderCategory() const { winrt::Windows::Media::Render::AudioRenderCategory value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AudioRenderCategory(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioRenderCategory(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::AudioRenderCategory(winrt::Windows::Media::Render::AudioRenderCategory const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_AudioRenderCategory(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AudioRenderCategory(static_cast(value))); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings::DesiredRenderDeviceAudioProcessing() const { winrt::Windows::Media::AudioProcessing value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DesiredRenderDeviceAudioProcessing(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DesiredRenderDeviceAudioProcessing(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettings::DesiredRenderDeviceAudioProcessing(winrt::Windows::Media::AudioProcessing const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DesiredRenderDeviceAudioProcessing(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DesiredRenderDeviceAudioProcessing(static_cast(value))); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings2::MaxPlaybackSpeedFactor(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MaxPlaybackSpeedFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MaxPlaybackSpeedFactor(value)); } } template auto consume_Windows_Media_Audio_IAudioGraphSettings2::MaxPlaybackSpeedFactor() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MaxPlaybackSpeedFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MaxPlaybackSpeedFactor(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioGraphSettingsFactory::Create(winrt::Windows::Media::Render::AudioRenderCategory const& audioRenderCategory) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(static_cast(audioRenderCategory), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(static_cast(audioRenderCategory), &value)); } return winrt::Windows::Media::Audio::AudioGraphSettings{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphStatics::CreateAsync(winrt::Windows::Media::Audio::AudioGraphSettings const& settings) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateAsync(*(void**)(&settings), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateAsync(*(void**)(&settings), &result)); } return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioGraphUnrecoverableErrorOccurredEventArgs::Error() const { winrt::Windows::Media::Audio::AudioGraphUnrecoverableError value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Error(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Error(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioInputNode::OutgoingConnections() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OutgoingConnections(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OutgoingConnections(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioInputNode::AddOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddOutgoingConnection(*(void**)(&destination))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddOutgoingConnection(*(void**)(&destination))); } } template auto consume_Windows_Media_Audio_IAudioInputNode::AddOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination, double gain) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddOutgoingConnectionWithGain(*(void**)(&destination), gain)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddOutgoingConnectionWithGain(*(void**)(&destination), gain)); } } template auto consume_Windows_Media_Audio_IAudioInputNode::RemoveOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RemoveOutgoingConnection(*(void**)(&destination))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveOutgoingConnection(*(void**)(&destination))); } } template auto consume_Windows_Media_Audio_IAudioInputNode2::Emitter() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Emitter(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Emitter(&value)); } return winrt::Windows::Media::Audio::AudioNodeEmitter{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNode::EffectDefinitions() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EffectDefinitions(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EffectDefinitions(&value)); } return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNode::OutgoingGain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_OutgoingGain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_OutgoingGain(value)); } } template auto consume_Windows_Media_Audio_IAudioNode::OutgoingGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OutgoingGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OutgoingGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNode::EncodingProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EncodingProperties(&value)); } return winrt::Windows::Media::MediaProperties::AudioEncodingProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNode::ConsumeInput() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ConsumeInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ConsumeInput(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNode::ConsumeInput(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ConsumeInput(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ConsumeInput(value)); } } template auto consume_Windows_Media_Audio_IAudioNode::Start() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Start()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Start()); } } template auto consume_Windows_Media_Audio_IAudioNode::Stop() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Stop()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Stop()); } } template auto consume_Windows_Media_Audio_IAudioNode::Reset() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Reset()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Reset()); } } template auto consume_Windows_Media_Audio_IAudioNode::DisableEffectsByDefinition(winrt::Windows::Media::Effects::IAudioEffectDefinition const& definition) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->DisableEffectsByDefinition(*(void**)(&definition))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->DisableEffectsByDefinition(*(void**)(&definition))); } } template auto consume_Windows_Media_Audio_IAudioNode::EnableEffectsByDefinition(winrt::Windows::Media::Effects::IAudioEffectDefinition const& definition) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->EnableEffectsByDefinition(*(void**)(&definition))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->EnableEffectsByDefinition(*(void**)(&definition))); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Position(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Position(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Position(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Direction() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Direction(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Direction(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Direction(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Direction(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Direction(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Shape() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Shape(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Shape(&value)); } return winrt::Windows::Media::Audio::AudioNodeEmitterShape{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DecayModel() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecayModel(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecayModel(&value)); } return winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Gain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Gain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Gain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::Gain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Gain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Gain(value)); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DistanceScale() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DistanceScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DistanceScale(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DistanceScale(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DistanceScale(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DistanceScale(value)); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DopplerScale() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DopplerScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DopplerScale(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DopplerScale(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DopplerScale(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DopplerScale(value)); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DopplerVelocity() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DopplerVelocity(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DopplerVelocity(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DopplerVelocity(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DopplerVelocity(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitter::IsDopplerDisabled() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsDopplerDisabled(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsDopplerDisabled(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter2::SpatialAudioModel() const { winrt::Windows::Media::Audio::SpatialAudioModel value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SpatialAudioModel(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SpatialAudioModel(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitter2::SpatialAudioModel(winrt::Windows::Media::Audio::SpatialAudioModel const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_SpatialAudioModel(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_SpatialAudioModel(static_cast(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeEmitterConeProperties::InnerAngle() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_InnerAngle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_InnerAngle(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterConeProperties::OuterAngle() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OuterAngle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OuterAngle(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterConeProperties::OuterAngleGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OuterAngleGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OuterAngleGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel::Kind() const { winrt::Windows::Media::Audio::AudioNodeEmitterDecayKind value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Kind(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Kind(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel::MinGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MinGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MinGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel::MaxGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MaxGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MaxGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel::NaturalProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalProperties(&value)); } return winrt::Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModelStatics::CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance) const { void* decayModel{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance, &decayModel)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance, &decayModel)); } return winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel{ decayModel, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterDecayModelStatics::CreateCustom(double minGain, double maxGain) const { void* decayModel{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateCustom(minGain, maxGain, &decayModel)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateCustom(minGain, maxGain, &decayModel)); } return winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel{ decayModel, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterFactory::CreateAudioNodeEmitter(winrt::Windows::Media::Audio::AudioNodeEmitterShape const& shape, winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel const& decayModel, winrt::Windows::Media::Audio::AudioNodeEmitterSettings const& settings) const { void* emitter{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateAudioNodeEmitter(*(void**)(&shape), *(void**)(&decayModel), static_cast(settings), &emitter)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateAudioNodeEmitter(*(void**)(&shape), *(void**)(&decayModel), static_cast(settings), &emitter)); } return winrt::Windows::Media::Audio::AudioNodeEmitter{ emitter, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterNaturalDecayModelProperties::UnityGainDistance() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UnityGainDistance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UnityGainDistance(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterNaturalDecayModelProperties::CutoffDistance() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CutoffDistance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CutoffDistance(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterShape::Kind() const { winrt::Windows::Media::Audio::AudioNodeEmitterShapeKind value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Kind(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Kind(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterShape::ConeProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ConeProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ConeProperties(&value)); } return winrt::Windows::Media::Audio::AudioNodeEmitterConeProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterShapeStatics::CreateCone(double innerAngle, double outerAngle, double outerAngleGain) const { void* shape{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateCone(innerAngle, outerAngle, outerAngleGain, &shape)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateCone(innerAngle, outerAngle, outerAngleGain, &shape)); } return winrt::Windows::Media::Audio::AudioNodeEmitterShape{ shape, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeEmitterShapeStatics::CreateOmnidirectional() const { void* shape{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateOmnidirectional(&shape)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateOmnidirectional(&shape)); } return winrt::Windows::Media::Audio::AudioNodeEmitterShape{ shape, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioNodeListener::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeListener::Position(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Position(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Position(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeListener::Orientation() const { winrt::Windows::Foundation::Numerics::quaternion value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Orientation(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Orientation(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeListener::Orientation(winrt::Windows::Foundation::Numerics::quaternion const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Orientation(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Orientation(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeListener::SpeedOfSound() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SpeedOfSound(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SpeedOfSound(&value)); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeListener::SpeedOfSound(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_SpeedOfSound(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_SpeedOfSound(value)); } } template auto consume_Windows_Media_Audio_IAudioNodeListener::DopplerVelocity() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DopplerVelocity(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DopplerVelocity(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioNodeListener::DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DopplerVelocity(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DopplerVelocity(impl::bind_in(value))); } } template auto consume_Windows_Media_Audio_IAudioNodeWithListener::Listener(winrt::Windows::Media::Audio::AudioNodeListener const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Listener(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Listener(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IAudioNodeWithListener::Listener() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Listener(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Listener(&value)); } return winrt::Windows::Media::Audio::AudioNodeListener{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::Start() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Start()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Start()); } } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::StartAsync() const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->StartAsync(&operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->StartAsync(&operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::DeviceId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::State() const { winrt::Windows::Media::Audio::AudioPlaybackConnectionState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_State(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_State(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::Open() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Open(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Open(&result)); } return winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResult{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::OpenAsync() const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->OpenAsync(&operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->OpenAsync(&operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::StateChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::StateChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, StateChanged(handler)); } template auto consume_Windows_Media_Audio_IAudioPlaybackConnection::StateChanged(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_StateChanged(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_StateChanged(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioPlaybackConnectionOpenResult::Status() const { winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResultStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnectionOpenResult::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnectionStatics::GetDeviceSelector() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetDeviceSelector(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetDeviceSelector(&result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioPlaybackConnectionStatics::TryCreateFromId(param::hstring const& id) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryCreateFromId(*(void**)(&id), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryCreateFromId(*(void**)(&id), &result)); } return winrt::Windows::Media::Audio::AudioPlaybackConnection{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitor::SoundLevelChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_SoundLevelChanged(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_SoundLevelChanged(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IAudioStateMonitor::SoundLevelChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SoundLevelChanged(handler)); } template auto consume_Windows_Media_Audio_IAudioStateMonitor::SoundLevelChanged(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_SoundLevelChanged(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_SoundLevelChanged(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IAudioStateMonitor::SoundLevel() const { winrt::Windows::Media::SoundLevel value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SoundLevel(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SoundLevel(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForRenderMonitoring() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForRenderMonitoring(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForRenderMonitoring(&result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategory(static_cast(category), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategory(static_cast(category), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategoryAndDeviceRole(static_cast(category), static_cast(role), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategoryAndDeviceRole(static_cast(category), static_cast(role), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForRenderMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Render::AudioRenderCategory const& category, param::hstring const& deviceId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategoryAndDeviceId(static_cast(category), *(void**)(&deviceId), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForRenderMonitoringWithCategoryAndDeviceId(static_cast(category), *(void**)(&deviceId), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForCaptureMonitoring() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForCaptureMonitoring(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForCaptureMonitoring(&result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategory(static_cast(category), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategory(static_cast(category), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategoryAndDeviceRole(static_cast(category), static_cast(role), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategoryAndDeviceRole(static_cast(category), static_cast(role), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IAudioStateMonitorStatics::CreateForCaptureMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Capture::MediaCategory const& category, param::hstring const& deviceId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategoryAndDeviceId(static_cast(category), *(void**)(&deviceId), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateForCaptureMonitoringWithCategoryAndDeviceId(static_cast(category), *(void**)(&deviceId), &result)); } return winrt::Windows::Media::Audio::AudioStateMonitor{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult::Status() const { winrt::Windows::Media::Audio::AudioDeviceNodeCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult::DeviceInputNode() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeviceInputNode(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeviceInputNode(&value)); } return winrt::Windows::Media::Audio::AudioDeviceInputNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult::Status() const { winrt::Windows::Media::Audio::AudioDeviceNodeCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult::DeviceOutputNode() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeviceOutputNode(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeviceOutputNode(&value)); } return winrt::Windows::Media::Audio::AudioDeviceOutputNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult::Status() const { winrt::Windows::Media::Audio::AudioFileNodeCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult::FileInputNode() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FileInputNode(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FileInputNode(&value)); } return winrt::Windows::Media::Audio::AudioFileInputNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult::Status() const { winrt::Windows::Media::Audio::AudioFileNodeCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult::FileOutputNode() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FileOutputNode(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FileOutputNode(&value)); } return winrt::Windows::Media::Audio::AudioFileOutputNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioGraphResult::Status() const { winrt::Windows::Media::Audio::AudioGraphCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateAudioGraphResult::Graph() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Graph(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Graph(&value)); } return winrt::Windows::Media::Audio::AudioGraph{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateAudioGraphResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult::Status() const { winrt::Windows::Media::Audio::MediaSourceAudioInputNodeCreationStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult::Node() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Node(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Node(&value)); } return winrt::Windows::Media::Audio::MediaSourceAudioInputNode{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult2::ExtendedError() const { winrt::hresult value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedError(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::WetDryMix(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_WetDryMix(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_WetDryMix(value)); } } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::WetDryMix() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_WetDryMix(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_WetDryMix(&value)); } return value; } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::Feedback(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Feedback(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Feedback(value)); } } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::Feedback() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Feedback(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Feedback(&value)); } return value; } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::Delay(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Delay(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Delay(value)); } } template auto consume_Windows_Media_Audio_IEchoEffectDefinition::Delay() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Delay(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Delay(&value)); } return value; } template auto consume_Windows_Media_Audio_IEchoEffectDefinitionFactory::Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } return winrt::Windows::Media::Audio::EchoEffectDefinition{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IEqualizerBand::Bandwidth() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Bandwidth(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Bandwidth(&value)); } return value; } template auto consume_Windows_Media_Audio_IEqualizerBand::Bandwidth(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Bandwidth(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Bandwidth(value)); } } template auto consume_Windows_Media_Audio_IEqualizerBand::FrequencyCenter() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FrequencyCenter(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FrequencyCenter(&value)); } return value; } template auto consume_Windows_Media_Audio_IEqualizerBand::FrequencyCenter(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_FrequencyCenter(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_FrequencyCenter(value)); } } template auto consume_Windows_Media_Audio_IEqualizerBand::Gain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Gain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Gain(&value)); } return value; } template auto consume_Windows_Media_Audio_IEqualizerBand::Gain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Gain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Gain(value)); } } template auto consume_Windows_Media_Audio_IEqualizerEffectDefinition::Bands() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Bands(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Bands(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IEqualizerEffectDefinitionFactory::Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } return winrt::Windows::Media::Audio::EqualizerEffectDefinition{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IFrameInputNodeQuantumStartedEventArgs::RequiredSamples() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequiredSamples(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequiredSamples(&value)); } return value; } template auto consume_Windows_Media_Audio_ILimiterEffectDefinition::Release(uint32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Release(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Release(value)); } } template auto consume_Windows_Media_Audio_ILimiterEffectDefinition::Release() const { uint32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Release(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Release(&value)); } return value; } template auto consume_Windows_Media_Audio_ILimiterEffectDefinition::Loudness(uint32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Loudness(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Loudness(value)); } } template auto consume_Windows_Media_Audio_ILimiterEffectDefinition::Loudness() const { uint32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Loudness(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Loudness(&value)); } return value; } template auto consume_Windows_Media_Audio_ILimiterEffectDefinitionFactory::Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } return winrt::Windows::Media::Audio::LimiterEffectDefinition{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::PlaybackSpeedFactor(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PlaybackSpeedFactor(value)); } } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::PlaybackSpeedFactor() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PlaybackSpeedFactor(&value)); } return value; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::Position() const { winrt::Windows::Foundation::TimeSpan value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::Seek(winrt::Windows::Foundation::TimeSpan const& position) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Seek(impl::bind_in(position))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Seek(impl::bind_in(position))); } } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::StartTime() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_StartTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StartTime(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::StartTime(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_StartTime(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_StartTime(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::EndTime() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EndTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EndTime(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::EndTime(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EndTime(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EndTime(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::LoopCount() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LoopCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LoopCount(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::LoopCount(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_LoopCount(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_LoopCount(*(void**)(&value))); } } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::Duration() const { winrt::Windows::Foundation::TimeSpan value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Duration(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Duration(put_abi(value))); } return value; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::MediaSource() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MediaSource(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MediaSource(&value)); } return winrt::Windows::Media::Core::MediaSource{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::MediaSourceCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_MediaSourceCompleted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_MediaSourceCompleted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::MediaSourceCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, MediaSourceCompleted(handler)); } template auto consume_Windows_Media_Audio_IMediaSourceAudioInputNode::MediaSourceCompleted(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_MediaSourceCompleted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_MediaSourceCompleted(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::WetDryMix(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_WetDryMix(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_WetDryMix(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::WetDryMix() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_WetDryMix(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_WetDryMix(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReflectionsDelay(uint32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ReflectionsDelay(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ReflectionsDelay(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReflectionsDelay() const { uint32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ReflectionsDelay(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ReflectionsDelay(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReverbDelay(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ReverbDelay(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ReverbDelay(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReverbDelay() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ReverbDelay(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ReverbDelay(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RearDelay(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RearDelay(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RearDelay(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RearDelay() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RearDelay(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RearDelay(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionLeft(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionLeft(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionLeft(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionLeft() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionLeft(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionLeft(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionRight(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionRight(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionRight(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionRight() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionRight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionRight(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionMatrixLeft(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionMatrixLeft(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionMatrixLeft(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionMatrixLeft() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionMatrixLeft(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionMatrixLeft(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionMatrixRight(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionMatrixRight(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionMatrixRight(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::PositionMatrixRight() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionMatrixRight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionMatrixRight(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::EarlyDiffusion(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EarlyDiffusion(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EarlyDiffusion(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::EarlyDiffusion() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EarlyDiffusion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EarlyDiffusion(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LateDiffusion(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_LateDiffusion(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_LateDiffusion(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LateDiffusion() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LateDiffusion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LateDiffusion(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LowEQGain(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_LowEQGain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_LowEQGain(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LowEQGain() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LowEQGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LowEQGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LowEQCutoff(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_LowEQCutoff(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_LowEQCutoff(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::LowEQCutoff() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LowEQCutoff(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LowEQCutoff(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::HighEQGain(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_HighEQGain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_HighEQGain(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::HighEQGain() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_HighEQGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_HighEQGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::HighEQCutoff(uint8_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_HighEQCutoff(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_HighEQCutoff(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::HighEQCutoff() const { uint8_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_HighEQCutoff(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_HighEQCutoff(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterFreq(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoomFilterFreq(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoomFilterFreq(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterFreq() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoomFilterFreq(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoomFilterFreq(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterMain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoomFilterMain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoomFilterMain(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterMain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoomFilterMain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoomFilterMain(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterHF(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoomFilterHF(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoomFilterHF(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomFilterHF() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoomFilterHF(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoomFilterHF(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReflectionsGain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ReflectionsGain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ReflectionsGain(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReflectionsGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ReflectionsGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ReflectionsGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReverbGain(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ReverbGain(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ReverbGain(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::ReverbGain() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ReverbGain(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ReverbGain(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::DecayTime(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DecayTime(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DecayTime(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::DecayTime() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecayTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecayTime(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::Density(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Density(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Density(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::Density() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Density(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Density(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomSize(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoomSize(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoomSize(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::RoomSize() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoomSize(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoomSize(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::DisableLateField(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DisableLateField(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DisableLateField(value)); } } template auto consume_Windows_Media_Audio_IReverbEffectDefinition::DisableLateField() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DisableLateField(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DisableLateField(&value)); } return value; } template auto consume_Windows_Media_Audio_IReverbEffectDefinitionFactory::Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&audioGraph), &value)); } return winrt::Windows::Media::Audio::ReverbEffectDefinition{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISetDefaultSpatialAudioFormatResult::Status() const { winrt::Windows::Media::Audio::SetDefaultSpatialAudioFormatStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::DeviceId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeviceId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::IsSpatialAudioSupported() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsSpatialAudioSupported(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsSpatialAudioSupported(&value)); } return value; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::IsSpatialAudioFormatSupported(param::hstring const& subtype) const { bool result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IsSpatialAudioFormatSupported(*(void**)(&subtype), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IsSpatialAudioFormatSupported(*(void**)(&subtype), &result)); } return result; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::ActiveSpatialAudioFormat() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ActiveSpatialAudioFormat(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ActiveSpatialAudioFormat(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::DefaultSpatialAudioFormat() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DefaultSpatialAudioFormat(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DefaultSpatialAudioFormat(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::SetDefaultSpatialAudioFormatAsync(param::hstring const& subtype) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetDefaultSpatialAudioFormatAsync(*(void**)(&subtype), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetDefaultSpatialAudioFormatAsync(*(void**)(&subtype), &operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::ConfigurationChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_ConfigurationChanged(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_ConfigurationChanged(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::ConfigurationChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ConfigurationChanged(handler)); } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration::ConfigurationChanged(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_ConfigurationChanged(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_ConfigurationChanged(impl::bind_in(token)); } } template auto consume_Windows_Media_Audio_ISpatialAudioDeviceConfigurationStatics::GetForDeviceId(param::hstring const& deviceId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetForDeviceId(*(void**)(&deviceId), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetForDeviceId(*(void**)(&deviceId), &result)); } return winrt::Windows::Media::Audio::SpatialAudioDeviceConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration::ReportLicenseChangedAsync(param::hstring const& subtype) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ReportLicenseChangedAsync(*(void**)(&subtype), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ReportLicenseChangedAsync(*(void**)(&subtype), &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration::ReportConfigurationChangedAsync(param::hstring const& subtype) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ReportConfigurationChangedAsync(*(void**)(&subtype), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ReportConfigurationChangedAsync(*(void**)(&subtype), &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration::MixedRealityExclusiveModePolicy() const { winrt::Windows::Media::Audio::MixedRealitySpatialAudioFormatPolicy value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MixedRealityExclusiveModePolicy(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MixedRealityExclusiveModePolicy(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration::MixedRealityExclusiveModePolicy(winrt::Windows::Media::Audio::MixedRealitySpatialAudioFormatPolicy const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MixedRealityExclusiveModePolicy(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MixedRealityExclusiveModePolicy(static_cast(value))); } } template auto consume_Windows_Media_Audio_ISpatialAudioFormatConfigurationStatics::GetDefault() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetDefault(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetDefault(&result)); } return winrt::Windows::Media::Audio::SpatialAudioFormatConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::WindowsSonic() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_WindowsSonic(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_WindowsSonic(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::DolbyAtmosForHeadphones() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DolbyAtmosForHeadphones(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DolbyAtmosForHeadphones(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::DolbyAtmosForHomeTheater() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DolbyAtmosForHomeTheater(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DolbyAtmosForHomeTheater(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::DolbyAtmosForSpeakers() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DolbyAtmosForSpeakers(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DolbyAtmosForSpeakers(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::DTSHeadphoneX() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DTSHeadphoneX(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DTSHeadphoneX(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics::DTSXUltra() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DTSXUltra(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DTSXUltra(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics2::DTSXForHomeTheater() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DTSXForHomeTheater(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DTSXForHomeTheater(&value)); } return hstring{ value, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Device(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Device()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Device(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Device()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DeviceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeviceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EffectsPackId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EffectsPackId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_StatusChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().StatusChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_StatusChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().StatusChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForDeviceId(void* effectsPackId, void* deviceId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetForDeviceId(*reinterpret_cast(&effectsPackId), *reinterpret_cast(&deviceId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsDeviceIdSupported(void* effectsPackId, void* deviceId, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsDeviceIdSupported(*reinterpret_cast(&effectsPackId), *reinterpret_cast(&deviceId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_PlaybackSpeedFactor(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PlaybackSpeedFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PlaybackSpeedFactor(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlaybackSpeedFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Position(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Seek(int64_t position) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Seek(*reinterpret_cast(&position)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().StartTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_StartTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EndTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().EndTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EndTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EndTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LoopCount(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().LoopCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LoopCount(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LoopCount(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SourceFile(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SourceFile()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_FileCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().FileCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_FileCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().FileCompleted(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_File(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().File()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FileEncodingProfile(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FileEncodingProfile()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FinalizeAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().FinalizeAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Frame(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Frame()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_PlaybackSpeedFactor(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PlaybackSpeedFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PlaybackSpeedFactor(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlaybackSpeedFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddFrame(void* frame) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddFrame(*reinterpret_cast(&frame)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DiscardQueuedFrames() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DiscardQueuedFrames(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QueuedSampleCount(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QueuedSampleCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_AudioFrameCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().AudioFrameCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_AudioFrameCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().AudioFrameCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_QuantumStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().QuantumStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_QuantumStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().QuantumStarted(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetFrame(void** audioFrame) noexcept final try { clear_abi(audioFrame); typename D::abi_guard guard(this->shim()); *audioFrame = detach_from(this->shim().GetFrame()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateFrameInputNode(void** frameInputNode) noexcept final try { clear_abi(frameInputNode); typename D::abi_guard guard(this->shim()); *frameInputNode = detach_from(this->shim().CreateFrameInputNode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFrameInputNodeWithFormat(void* encodingProperties, void** frameInputNode) noexcept final try { clear_abi(frameInputNode); typename D::abi_guard guard(this->shim()); *frameInputNode = detach_from(this->shim().CreateFrameInputNode(*reinterpret_cast(&encodingProperties))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDeviceInputNodeAsync(int32_t category, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateDeviceInputNodeAsync(*reinterpret_cast(&category))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDeviceInputNodeWithFormatAsync(int32_t category, void* encodingProperties, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateDeviceInputNodeAsync(*reinterpret_cast(&category), *reinterpret_cast(&encodingProperties))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDeviceInputNodeWithFormatOnDeviceAsync(int32_t category, void* encodingProperties, void* device, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateDeviceInputNodeAsync(*reinterpret_cast(&category), *reinterpret_cast(&encodingProperties), *reinterpret_cast(&device))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFrameOutputNode(void** frameOutputNode) noexcept final try { clear_abi(frameOutputNode); typename D::abi_guard guard(this->shim()); *frameOutputNode = detach_from(this->shim().CreateFrameOutputNode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFrameOutputNodeWithFormat(void* encodingProperties, void** frameOutputNode) noexcept final try { clear_abi(frameOutputNode); typename D::abi_guard guard(this->shim()); *frameOutputNode = detach_from(this->shim().CreateFrameOutputNode(*reinterpret_cast(&encodingProperties))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDeviceOutputNodeAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateDeviceOutputNodeAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileInputNodeAsync(void* file, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateFileInputNodeAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileOutputNodeAsync(void* file, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateFileOutputNodeAsync(*reinterpret_cast(&file))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileOutputNodeWithFileProfileAsync(void* file, void* fileEncodingProfile, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateFileOutputNodeAsync(*reinterpret_cast(&file), *reinterpret_cast(&fileEncodingProfile))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateSubmixNode(void** submixNode) noexcept final try { clear_abi(submixNode); typename D::abi_guard guard(this->shim()); *submixNode = detach_from(this->shim().CreateSubmixNode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateSubmixNodeWithFormat(void* encodingProperties, void** submixNode) noexcept final try { clear_abi(submixNode); typename D::abi_guard guard(this->shim()); *submixNode = detach_from(this->shim().CreateSubmixNode(*reinterpret_cast(&encodingProperties))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Start() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Start(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Stop() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Stop(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ResetAllNodes() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ResetAllNodes(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_QuantumStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().QuantumStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_QuantumStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().QuantumStarted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_QuantumProcessed(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().QuantumProcessed(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_QuantumProcessed(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().QuantumProcessed(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_UnrecoverableErrorOccurred(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().UnrecoverableErrorOccurred(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_UnrecoverableErrorOccurred(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().UnrecoverableErrorOccurred(*reinterpret_cast(&token)); return 0; } int32_t __stdcall get_CompletedQuantumCount(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CompletedQuantumCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EncodingProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncodingProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LatencyInSamples(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LatencyInSamples()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PrimaryRenderDevice(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PrimaryRenderDevice()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RenderDeviceAudioProcessing(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RenderDeviceAudioProcessing()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SamplesPerQuantum(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SamplesPerQuantum()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateFrameInputNodeWithFormatAndEmitter(void* encodingProperties, void* emitter, void** frameInputNode) noexcept final try { clear_abi(frameInputNode); typename D::abi_guard guard(this->shim()); *frameInputNode = detach_from(this->shim().CreateFrameInputNode(*reinterpret_cast(&encodingProperties), *reinterpret_cast(&emitter))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(int32_t category, void* encodingProperties, void* device, void* emitter, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateDeviceInputNodeAsync(*reinterpret_cast(&category), *reinterpret_cast(&encodingProperties), *reinterpret_cast(&device), *reinterpret_cast(&emitter))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateFileInputNodeWithEmitterAsync(void* file, void* emitter, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateFileInputNodeAsync(*reinterpret_cast(&file), *reinterpret_cast(&emitter))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateSubmixNodeWithFormatAndEmitter(void* encodingProperties, void* emitter, void** submixNode) noexcept final try { clear_abi(submixNode); typename D::abi_guard guard(this->shim()); *submixNode = detach_from(this->shim().CreateSubmixNode(*reinterpret_cast(&encodingProperties), *reinterpret_cast(&emitter))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateBatchUpdater(void** updater) noexcept final try { clear_abi(updater); typename D::abi_guard guard(this->shim()); *updater = detach_from(this->shim().CreateBatchUpdater()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateMediaSourceAudioInputNodeAsync(void* mediaSource, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateMediaSourceAudioInputNodeAsync(*reinterpret_cast(&mediaSource))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateMediaSourceAudioInputNodeWithEmitterAsync(void* mediaSource, void* emitter, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateMediaSourceAudioInputNodeAsync(*reinterpret_cast(&mediaSource), *reinterpret_cast(&emitter))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Destination(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Destination()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Gain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Gain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Gain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Gain()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_EncodingProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncodingProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EncodingProperties(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EncodingProperties(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PrimaryRenderDevice(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PrimaryRenderDevice()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PrimaryRenderDevice(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PrimaryRenderDevice(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_QuantumSizeSelectionMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().QuantumSizeSelectionMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_QuantumSizeSelectionMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().QuantumSizeSelectionMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DesiredSamplesPerQuantum(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DesiredSamplesPerQuantum()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DesiredSamplesPerQuantum(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DesiredSamplesPerQuantum(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AudioRenderCategory(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AudioRenderCategory()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AudioRenderCategory(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AudioRenderCategory(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DesiredRenderDeviceAudioProcessing(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DesiredRenderDeviceAudioProcessing()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DesiredRenderDeviceAudioProcessing(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DesiredRenderDeviceAudioProcessing(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_MaxPlaybackSpeedFactor(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MaxPlaybackSpeedFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxPlaybackSpeedFactor(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MaxPlaybackSpeedFactor()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(int32_t audioRenderCategory, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&audioRenderCategory))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateAsync(void* settings, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().CreateAsync(*reinterpret_cast(&settings))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Error(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Error()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_OutgoingConnections(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().OutgoingConnections()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddOutgoingConnection(void* destination) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddOutgoingConnection(*reinterpret_cast(&destination)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddOutgoingConnectionWithGain(void* destination, double gain) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddOutgoingConnection(*reinterpret_cast(&destination), gain); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveOutgoingConnection(void* destination) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveOutgoingConnection(*reinterpret_cast(&destination)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_Emitter(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Emitter()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_EffectDefinitions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().EffectDefinitions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OutgoingGain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OutgoingGain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OutgoingGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OutgoingGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EncodingProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncodingProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ConsumeInput(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ConsumeInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ConsumeInput(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConsumeInput(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Start() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Start(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Stop() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Stop(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Reset() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Reset(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DisableEffectsByDefinition(void* definition) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisableEffectsByDefinition(*reinterpret_cast(&definition)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EnableEffectsByDefinition(void* definition) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EnableEffectsByDefinition(*reinterpret_cast(&definition)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Position(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Position(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Direction(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Direction()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Direction(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Direction(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Shape(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Shape()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecayModel(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecayModel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Gain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Gain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Gain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Gain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DistanceScale(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DistanceScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DistanceScale(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DistanceScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DopplerScale(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DopplerScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DopplerScale(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DopplerScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DopplerVelocity()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DopplerVelocity(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsDopplerDisabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsDopplerDisabled()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SpatialAudioModel(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SpatialAudioModel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SpatialAudioModel(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SpatialAudioModel(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InnerAngle(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InnerAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OuterAngle(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OuterAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OuterAngleGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OuterAngleGain()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Kind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MinGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MinGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MaxGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalProperties()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance, void** decayModel) noexcept final try { clear_abi(decayModel); typename D::abi_guard guard(this->shim()); *decayModel = detach_from(this->shim().CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCustom(double minGain, double maxGain, void** decayModel) noexcept final try { clear_abi(decayModel); typename D::abi_guard guard(this->shim()); *decayModel = detach_from(this->shim().CreateCustom(minGain, maxGain)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateAudioNodeEmitter(void* shape, void* decayModel, uint32_t settings, void** emitter) noexcept final try { clear_abi(emitter); typename D::abi_guard guard(this->shim()); *emitter = detach_from(this->shim().CreateAudioNodeEmitter(*reinterpret_cast(&shape), *reinterpret_cast(&decayModel), *reinterpret_cast(&settings))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UnityGainDistance(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UnityGainDistance()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CutoffDistance(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CutoffDistance()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Kind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ConeProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ConeProperties()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateCone(double innerAngle, double outerAngle, double outerAngleGain, void** shape) noexcept final try { clear_abi(shape); typename D::abi_guard guard(this->shim()); *shape = detach_from(this->shim().CreateCone(innerAngle, outerAngle, outerAngleGain)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateOmnidirectional(void** shape) noexcept final try { clear_abi(shape); typename D::abi_guard guard(this->shim()); *shape = detach_from(this->shim().CreateOmnidirectional()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Position(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Position(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Orientation(winrt::Windows::Foundation::Numerics::quaternion* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Orientation(winrt::Windows::Foundation::Numerics::quaternion value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Orientation(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SpeedOfSound(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SpeedOfSound()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SpeedOfSound(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SpeedOfSound(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DopplerVelocity()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DopplerVelocity(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall put_Listener(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Listener(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Listener(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Listener()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Start() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Start(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall StartAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().StartAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DeviceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeviceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_State(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().State()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Open(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Open()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall OpenAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().OpenAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_StateChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().StateChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_StateChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().StateChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetDeviceSelector(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDeviceSelector()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryCreateFromId(void* id, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryCreateFromId(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_SoundLevelChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SoundLevelChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SoundLevelChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SoundLevelChanged(*reinterpret_cast(&token)); return 0; } int32_t __stdcall get_SoundLevel(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SoundLevel()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateForRenderMonitoring(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForRenderMonitoring()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForRenderMonitoringWithCategory(int32_t category, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForRenderMonitoring(*reinterpret_cast(&category))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForRenderMonitoringWithCategoryAndDeviceRole(int32_t category, int32_t role, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForRenderMonitoring(*reinterpret_cast(&category), *reinterpret_cast(&role))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForRenderMonitoringWithCategoryAndDeviceId(int32_t category, void* deviceId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForRenderMonitoringWithCategoryAndDeviceId(*reinterpret_cast(&category), *reinterpret_cast(&deviceId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForCaptureMonitoring(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForCaptureMonitoring()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForCaptureMonitoringWithCategory(int32_t category, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForCaptureMonitoring(*reinterpret_cast(&category))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForCaptureMonitoringWithCategoryAndDeviceRole(int32_t category, int32_t role, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForCaptureMonitoring(*reinterpret_cast(&category), *reinterpret_cast(&role))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForCaptureMonitoringWithCategoryAndDeviceId(int32_t category, void* deviceId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateForCaptureMonitoringWithCategoryAndDeviceId(*reinterpret_cast(&category), *reinterpret_cast(&deviceId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DeviceInputNode(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeviceInputNode()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DeviceOutputNode(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeviceOutputNode()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FileInputNode(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FileInputNode()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FileOutputNode(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FileOutputNode()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Graph(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Graph()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Node(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Node()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedError(winrt::hresult* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedError()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_WetDryMix(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WetDryMix(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WetDryMix(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WetDryMix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Feedback(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Feedback(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Feedback(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Feedback()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Delay(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Delay(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Delay(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Delay()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* audioGraph, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&audioGraph))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Bandwidth(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Bandwidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Bandwidth(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Bandwidth(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FrequencyCenter(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FrequencyCenter()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_FrequencyCenter(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FrequencyCenter(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Gain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Gain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Gain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Gain(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Bands(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Bands()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* audioGraph, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&audioGraph))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RequiredSamples(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequiredSamples()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_Release(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Release(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Release(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Release()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Loudness(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Loudness(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Loudness(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Loudness()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* audioGraph, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&audioGraph))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_PlaybackSpeedFactor(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PlaybackSpeedFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PlaybackSpeedFactor(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlaybackSpeedFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Position(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Seek(int64_t position) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Seek(*reinterpret_cast(&position)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().StartTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_StartTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EndTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().EndTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EndTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EndTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LoopCount(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().LoopCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LoopCount(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LoopCount(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaSource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaSource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_MediaSourceCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().MediaSourceCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_MediaSourceCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().MediaSourceCompleted(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall put_WetDryMix(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WetDryMix(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WetDryMix(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WetDryMix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ReflectionsDelay(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ReflectionsDelay(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReflectionsDelay(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReflectionsDelay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ReverbDelay(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ReverbDelay(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReverbDelay(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReverbDelay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RearDelay(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RearDelay(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RearDelay(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RearDelay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionLeft(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionLeft(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionLeft(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionLeft()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionRight(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionRight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionRight(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionRight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionMatrixLeft(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionMatrixLeft(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionMatrixLeft(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionMatrixLeft()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionMatrixRight(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionMatrixRight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionMatrixRight(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionMatrixRight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EarlyDiffusion(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EarlyDiffusion(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EarlyDiffusion(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EarlyDiffusion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LateDiffusion(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LateDiffusion(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LateDiffusion(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LateDiffusion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LowEQGain(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LowEQGain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LowEQGain(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LowEQGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LowEQCutoff(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LowEQCutoff(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LowEQCutoff(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LowEQCutoff()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HighEQGain(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HighEQGain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HighEQGain(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HighEQGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HighEQCutoff(uint8_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HighEQCutoff(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HighEQCutoff(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HighEQCutoff()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoomFilterFreq(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoomFilterFreq(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoomFilterFreq(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoomFilterFreq()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoomFilterMain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoomFilterMain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoomFilterMain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoomFilterMain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoomFilterHF(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoomFilterHF(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoomFilterHF(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoomFilterHF()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ReflectionsGain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ReflectionsGain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReflectionsGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReflectionsGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ReverbGain(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ReverbGain(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReverbGain(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReverbGain()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DecayTime(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DecayTime(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecayTime(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecayTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Density(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Density(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Density(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Density()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoomSize(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoomSize(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoomSize(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoomSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DisableLateField(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisableLateField(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisableLateField(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisableLateField()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* audioGraph, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&audioGraph))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DeviceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeviceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsSpatialAudioSupported(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsSpatialAudioSupported()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsSpatialAudioFormatSupported(void* subtype, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSpatialAudioFormatSupported(*reinterpret_cast(&subtype))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ActiveSpatialAudioFormat(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ActiveSpatialAudioFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DefaultSpatialAudioFormat(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DefaultSpatialAudioFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetDefaultSpatialAudioFormatAsync(void* subtype, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().SetDefaultSpatialAudioFormatAsync(*reinterpret_cast(&subtype))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_ConfigurationChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ConfigurationChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ConfigurationChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ConfigurationChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForDeviceId(void* deviceId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetForDeviceId(*reinterpret_cast(&deviceId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReportLicenseChangedAsync(void* subtype, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().ReportLicenseChangedAsync(*reinterpret_cast(&subtype))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReportConfigurationChangedAsync(void* subtype, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().ReportConfigurationChangedAsync(*reinterpret_cast(&subtype))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MixedRealityExclusiveModePolicy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MixedRealityExclusiveModePolicy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MixedRealityExclusiveModePolicy(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MixedRealityExclusiveModePolicy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetDefault(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDefault()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_WindowsSonic(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WindowsSonic()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DolbyAtmosForHeadphones(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DolbyAtmosForHeadphones()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DolbyAtmosForHomeTheater(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DolbyAtmosForHomeTheater()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DolbyAtmosForSpeakers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DolbyAtmosForSpeakers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DTSHeadphoneX(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DTSHeadphoneX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DTSXUltra(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DTSXUltra()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DTSXForHomeTheater(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DTSXForHomeTheater()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Media::Audio { constexpr auto operator|(AudioNodeEmitterSettings const left, AudioNodeEmitterSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(AudioNodeEmitterSettings& left, AudioNodeEmitterSettings const right) noexcept { left = left | right; return left; } constexpr auto operator&(AudioNodeEmitterSettings const left, AudioNodeEmitterSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(AudioNodeEmitterSettings& left, AudioNodeEmitterSettings const right) noexcept { left = left & right; return left; } constexpr auto operator~(AudioNodeEmitterSettings const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(AudioNodeEmitterSettings const left, AudioNodeEmitterSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(AudioNodeEmitterSettings& left, AudioNodeEmitterSettings const right) noexcept { left = left ^ right; return left; } inline auto AudioEffectsPackConfiguration::GetForDeviceId(param::hstring const& effectsPackId, param::hstring const& deviceId) { return impl::call_factory([&](IAudioEffectsPackConfigurationStatics const& f) { return f.GetForDeviceId(effectsPackId, deviceId); }); } inline auto AudioEffectsPackConfiguration::IsDeviceIdSupported(param::hstring const& effectsPackId, param::hstring const& deviceId) { return impl::call_factory([&](IAudioEffectsPackConfigurationStatics const& f) { return f.IsDeviceIdSupported(effectsPackId, deviceId); }); } inline auto AudioGraph::CreateAsync(winrt::Windows::Media::Audio::AudioGraphSettings const& settings) { return impl::call_factory([&](IAudioGraphStatics const& f) { return f.CreateAsync(settings); }); } inline AudioGraphSettings::AudioGraphSettings(winrt::Windows::Media::Render::AudioRenderCategory const& audioRenderCategory) : AudioGraphSettings(impl::call_factory([&](IAudioGraphSettingsFactory const& f) { return f.Create(audioRenderCategory); })) { } inline AudioNodeEmitter::AudioNodeEmitter() : AudioNodeEmitter(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline AudioNodeEmitter::AudioNodeEmitter(winrt::Windows::Media::Audio::AudioNodeEmitterShape const& shape, winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel const& decayModel, winrt::Windows::Media::Audio::AudioNodeEmitterSettings const& settings) : AudioNodeEmitter(impl::call_factory([&](IAudioNodeEmitterFactory const& f) { return f.CreateAudioNodeEmitter(shape, decayModel, settings); })) { } inline auto AudioNodeEmitterDecayModel::CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance) { return impl::call_factory([&](IAudioNodeEmitterDecayModelStatics const& f) { return f.CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance); }); } inline auto AudioNodeEmitterDecayModel::CreateCustom(double minGain, double maxGain) { return impl::call_factory([&](IAudioNodeEmitterDecayModelStatics const& f) { return f.CreateCustom(minGain, maxGain); }); } inline auto AudioNodeEmitterShape::CreateCone(double innerAngle, double outerAngle, double outerAngleGain) { return impl::call_factory([&](IAudioNodeEmitterShapeStatics const& f) { return f.CreateCone(innerAngle, outerAngle, outerAngleGain); }); } inline auto AudioNodeEmitterShape::CreateOmnidirectional() { return impl::call_factory_cast([](IAudioNodeEmitterShapeStatics const& f) { return f.CreateOmnidirectional(); }); } inline AudioNodeListener::AudioNodeListener() : AudioNodeListener(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto AudioPlaybackConnection::GetDeviceSelector() { return impl::call_factory_cast([](IAudioPlaybackConnectionStatics const& f) { return f.GetDeviceSelector(); }); } inline auto AudioPlaybackConnection::TryCreateFromId(param::hstring const& id) { return impl::call_factory([&](IAudioPlaybackConnectionStatics const& f) { return f.TryCreateFromId(id); }); } inline auto AudioStateMonitor::CreateForRenderMonitoring() { return impl::call_factory_cast([](IAudioStateMonitorStatics const& f) { return f.CreateForRenderMonitoring(); }); } inline auto AudioStateMonitor::CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForRenderMonitoring(category); }); } inline auto AudioStateMonitor::CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForRenderMonitoring(category, role); }); } inline auto AudioStateMonitor::CreateForRenderMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Render::AudioRenderCategory const& category, param::hstring const& deviceId) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForRenderMonitoringWithCategoryAndDeviceId(category, deviceId); }); } inline auto AudioStateMonitor::CreateForCaptureMonitoring() { return impl::call_factory_cast([](IAudioStateMonitorStatics const& f) { return f.CreateForCaptureMonitoring(); }); } inline auto AudioStateMonitor::CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForCaptureMonitoring(category); }); } inline auto AudioStateMonitor::CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForCaptureMonitoring(category, role); }); } inline auto AudioStateMonitor::CreateForCaptureMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Capture::MediaCategory const& category, param::hstring const& deviceId) { return impl::call_factory([&](IAudioStateMonitorStatics const& f) { return f.CreateForCaptureMonitoringWithCategoryAndDeviceId(category, deviceId); }); } inline EchoEffectDefinition::EchoEffectDefinition(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) : EchoEffectDefinition(impl::call_factory([&](IEchoEffectDefinitionFactory const& f) { return f.Create(audioGraph); })) { } inline EqualizerEffectDefinition::EqualizerEffectDefinition(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) : EqualizerEffectDefinition(impl::call_factory([&](IEqualizerEffectDefinitionFactory const& f) { return f.Create(audioGraph); })) { } inline LimiterEffectDefinition::LimiterEffectDefinition(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) : LimiterEffectDefinition(impl::call_factory([&](ILimiterEffectDefinitionFactory const& f) { return f.Create(audioGraph); })) { } inline ReverbEffectDefinition::ReverbEffectDefinition(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) : ReverbEffectDefinition(impl::call_factory([&](IReverbEffectDefinitionFactory const& f) { return f.Create(audioGraph); })) { } inline auto SpatialAudioDeviceConfiguration::GetForDeviceId(param::hstring const& deviceId) { return impl::call_factory([&](ISpatialAudioDeviceConfigurationStatics const& f) { return f.GetForDeviceId(deviceId); }); } inline auto SpatialAudioFormatConfiguration::GetDefault() { return impl::call_factory_cast([](ISpatialAudioFormatConfigurationStatics const& f) { return f.GetDefault(); }); } inline auto SpatialAudioFormatSubtype::WindowsSonic() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.WindowsSonic(); }); } inline auto SpatialAudioFormatSubtype::DolbyAtmosForHeadphones() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.DolbyAtmosForHeadphones(); }); } inline auto SpatialAudioFormatSubtype::DolbyAtmosForHomeTheater() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.DolbyAtmosForHomeTheater(); }); } inline auto SpatialAudioFormatSubtype::DolbyAtmosForSpeakers() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.DolbyAtmosForSpeakers(); }); } inline auto SpatialAudioFormatSubtype::DTSHeadphoneX() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.DTSHeadphoneX(); }); } inline auto SpatialAudioFormatSubtype::DTSXUltra() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics const& f) { return f.DTSXUltra(); }); } inline auto SpatialAudioFormatSubtype::DTSXForHomeTheater() { return impl::call_factory_cast([](ISpatialAudioFormatSubtypeStatics2 const& f) { return f.DTSXForHomeTheater(); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; 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