//
// 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.Streaming.idl";

// Forward Declare
namespace Windows
{
    namespace Media
    {
        namespace Streaming
        {
            runtimeclass CreateMediaRendererOperation;

            interface IBasicDevice;

            apicontract StreamingContract;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Streaming
        {
            namespace Internal
            {
                interface IMediaRendererBrokerStatics;

                runtimeclass MediaRendererBroker;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Streaming
        {
            namespace Internal
            {
                [contract(Windows.Media.Streaming.StreamingContract, 1.0)]
                [uuid(19974CB1-9A1D-45C0-87CF-2C1E835A981C)]
                interface IMediaRendererBrokerStatics : IInspectable
                {
                    HRESULT CreateMediaRendererAsync([in] HSTRING deviceIdentifier, [in] IInspectable* mediaSessionFactoryMF, [in] HSTRING applicationUserModelId, [out] [retval] Windows.Media.Streaming.CreateMediaRendererOperation** value);
                    HRESULT CreateMediaRendererFromBasicDeviceAsync([in] Windows.Media.Streaming.IBasicDevice* basicDevice, [in] IInspectable* mediaSessionFactoryMF, [in] HSTRING applicationUserModelId, [out] [retval] Windows.Media.Streaming.CreateMediaRendererOperation** value);
                }

                [contract(Windows.Media.Streaming.StreamingContract, 1.0)]
                [static(Windows.Media.Streaming.Internal.IMediaRendererBrokerStatics, Windows.Media.Streaming.StreamingContract, 1.0)]
                [threading(mta)]
                runtimeclass MediaRendererBroker
                {
                }
            }
        }
    }
}
