// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Media_Core_Preview_0_H #define WINRT_Windows_Media_Core_Preview_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { template struct WINRT_IMPL_EMPTY_BASES EventHandler; struct EventRegistrationToken; } WINRT_EXPORT namespace winrt::Windows::Media { enum class SoundLevel : int32_t; } WINRT_EXPORT namespace winrt::Windows::Media::Core::Preview { struct ISoundLevelBrokerStatics; struct SoundLevelBroker; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> inline constexpr auto& name_v = L"Windows.Media.Core.Preview.SoundLevelBroker"; template <> inline constexpr auto& name_v = L"Windows.Media.Core.Preview.ISoundLevelBrokerStatics"; template <> inline constexpr guid guid_v{ 0x6A633961,0xDBED,0x464C,{ 0xA0,0x9A,0x33,0x41,0x2F,0x5C,0xAA,0x3F } }; // 6A633961-DBED-464C-A09A-33412F5CAA3F template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SoundLevel(int32_t*) noexcept = 0; virtual int32_t __stdcall add_SoundLevelChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_SoundLevelChanged(winrt::event_token) noexcept = 0; }; }; template struct consume_Windows_Media_Core_Preview_ISoundLevelBrokerStatics { [[nodiscard]] auto SoundLevel() const; auto SoundLevelChanged(winrt::Windows::Foundation::EventHandler const& handler) const; using SoundLevelChanged_revoker = impl::event_revoker::remove_SoundLevelChanged>; [[nodiscard]] auto SoundLevelChanged(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const; auto SoundLevelChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Core_Preview_ISoundLevelBrokerStatics; }; } #endif