//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Media.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Media
    {
        typedef enum SoundLevel SoundLevel;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            namespace Preview
            {
                interface ISoundLevelBrokerStatics;

                runtimeclass SoundLevelBroker;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            namespace Preview
            {
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.Media.Core.Preview.SoundLevelBroker)]
                [uuid(6A633961-DBED-464C-A09A-33412F5CAA3F)]
                interface ISoundLevelBrokerStatics : IInspectable
                {
                    [propget] HRESULT SoundLevel([out] [retval] Windows.Media.SoundLevel* value);
                    [eventadd] HRESULT SoundLevelChanged([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SoundLevelChanged([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Media.Core.Preview.ISoundLevelBrokerStatics, Windows.Foundation.UniversalApiContract, 4.0)]
                [threading(both)]
                runtimeclass SoundLevelBroker
                {
                }
            }
        }
    }
}
