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

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStreamReference;

            interface IRandomAccessStreamWithContentType;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace PlayTo
        {
            typedef enum PlayToConnectionError PlayToConnectionError;

            typedef enum PlayToConnectionState PlayToConnectionState;

            interface ICurrentTimeChangeRequestedEventArgs;

            interface IMuteChangeRequestedEventArgs;

            interface IPlayToConnection;

            interface IPlayToConnectionErrorEventArgs;

            interface IPlayToConnectionStateChangedEventArgs;

            interface IPlayToConnectionTransferredEventArgs;

            interface IPlayToManager;

            interface IPlayToManagerStatics;

            interface IPlayToReceiver;

            interface IPlayToSource;

            interface IPlayToSourceDeferral;

            interface IPlayToSourceRequest;

            interface IPlayToSourceRequestedEventArgs;

            interface IPlayToSourceSelectedEventArgs;

            interface IPlayToSourceWithPreferredSourceUri;

            interface IPlaybackRateChangeRequestedEventArgs;

            interface ISourceChangeRequestedEventArgs;

            interface IVolumeChangeRequestedEventArgs;

            runtimeclass CurrentTimeChangeRequestedEventArgs;

            runtimeclass MuteChangeRequestedEventArgs;

            runtimeclass PlayToConnection;

            runtimeclass PlayToConnectionErrorEventArgs;

            runtimeclass PlayToConnectionStateChangedEventArgs;

            runtimeclass PlayToConnectionTransferredEventArgs;

            runtimeclass PlayToManager;

            runtimeclass PlayToReceiver;

            runtimeclass PlayToSource;

            runtimeclass PlayToSourceDeferral;

            runtimeclass PlayToSourceRequest;

            runtimeclass PlayToSourceRequestedEventArgs;

            runtimeclass PlayToSourceSelectedEventArgs;

            runtimeclass PlaybackRateChangeRequestedEventArgs;

            runtimeclass SourceChangeRequestedEventArgs;

            runtimeclass VolumeChangeRequestedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace PlayTo
        {
            declare
            {
                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionErrorEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionTransferredEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToManager*, Windows.Media.PlayTo.PlayToSourceRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToManager*, Windows.Media.PlayTo.PlayToSourceSelectedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.CurrentTimeChangeRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.MuteChangeRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.PlaybackRateChangeRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.SourceChangeRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.VolumeChangeRequestedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace PlayTo
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionError may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionErrorStatus.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            enum PlayToConnectionError
            {
                None                    = 0,
                DeviceNotResponding     = 1,
                DeviceError             = 2,
                DeviceLocked            = 3,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                ProtectedPlaybackFailed = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionState may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionState.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            enum PlayToConnectionState
            {
                Disconnected = 0,
                Connected    = 1,
                Rendering    = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.CurrentTimeChangeRequestedEventArgs)]
            [uuid(99711324-EDC7-4BF5-91F6-3C8627DB59E5)]
            interface ICurrentTimeChangeRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Time([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.MuteChangeRequestedEventArgs)]
            [uuid(E4B4F5F6-AF1F-4F1E-B437-7DA32400E1D4)]
            interface IMuteChangeRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Mute([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToConnection)]
            [uuid(112FBFC8-F235-4FDE-8D41-9BF27C9E9A40)]
            interface IPlayToConnection : IInspectable
            {
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT State([out] [retval] Windows.Media.PlayTo.PlayToConnectionState* value);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventadd] HRESULT StateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventremove] HRESULT StateChanged([in] EventRegistrationToken token);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventadd] HRESULT Transferred([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionTransferredEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventremove] HRESULT Transferred([in] EventRegistrationToken token);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventadd] HRESULT Error([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToConnection*, Windows.Media.PlayTo.PlayToConnectionErrorEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventremove] HRESULT Error([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionErrorEventArgs may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionErrorOccurredEventArgs.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToConnectionErrorEventArgs)]
            [uuid(BF5EADA6-88E6-445F-9D40-D9B9F8939896)]
            interface IPlayToConnectionErrorEventArgs : IInspectable
            {
                [deprecated("PlayToConnectionErrorEventArgs may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionErrorOccurredEventArgs.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Code([out] [retval] Windows.Media.PlayTo.PlayToConnectionError* value);
                [deprecated("PlayToConnectionErrorEventArgs may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionErrorOccurredEventArgs.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Message([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionStateChangedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToConnectionStateChangedEventArgs)]
            [uuid(68C4B50F-0C20-4980-8602-58C62238D423)]
            interface IPlayToConnectionStateChangedEventArgs : IInspectable
            {
                [deprecated("PlayToConnectionStateChangedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT PreviousState([out] [retval] Windows.Media.PlayTo.PlayToConnectionState* value);
                [deprecated("PlayToConnectionStateChangedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT CurrentState([out] [retval] Windows.Media.PlayTo.PlayToConnectionState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionTransferredEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToConnectionTransferredEventArgs)]
            [uuid(FAE3193A-0683-47D9-8DF0-18CBB48984D8)]
            interface IPlayToConnectionTransferredEventArgs : IInspectable
            {
                [deprecated("PlayToConnectionTransferredEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT PreviousSource([out] [retval] Windows.Media.PlayTo.PlayToSource** value);
                [deprecated("PlayToConnectionTransferredEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT CurrentSource([out] [retval] Windows.Media.PlayTo.PlayToSource** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToManager)]
            [uuid(F56A206E-1B77-42EF-8F0D-B949F8D9B260)]
            interface IPlayToManager : IInspectable
            {
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventadd] HRESULT SourceRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToManager*, Windows.Media.PlayTo.PlayToSourceRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventremove] HRESULT SourceRequested([in] EventRegistrationToken token);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventadd] HRESULT SourceSelected([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToManager*, Windows.Media.PlayTo.PlayToSourceSelectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [eventremove] HRESULT SourceSelected([in] EventRegistrationToken token);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT DefaultSourceSelection([in] boolean value);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT DefaultSourceSelection([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToManager)]
            [uuid(64E6A887-3982-4F3B-BA20-6155E435325B)]
            interface IPlayToManagerStatics : IInspectable
            {
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT GetForCurrentView([out] [retval] Windows.Media.PlayTo.PlayToManager** playToManager);
                [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT ShowPlayToUI();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToReceiver)]
            [uuid(AC15CF47-A162-4AA6-AF1B-3AA35F3B9069)]
            interface IPlayToReceiver : IInspectable
            {
                [eventadd] HRESULT PlayRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PlayRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT PauseRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PauseRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT SourceChangeRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.SourceChangeRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SourceChangeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT PlaybackRateChangeRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.PlaybackRateChangeRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PlaybackRateChangeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT CurrentTimeChangeRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.CurrentTimeChangeRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CurrentTimeChangeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT MuteChangeRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.MuteChangeRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MuteChangeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT VolumeChangeRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, Windows.Media.PlayTo.VolumeChangeRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VolumeChangeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT TimeUpdateRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TimeUpdateRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT StopRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.PlayTo.PlayToReceiver*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StopRequested([in] EventRegistrationToken token);
                HRESULT NotifyVolumeChange([in] DOUBLE volume, [in] boolean mute);
                HRESULT NotifyRateChange([in] DOUBLE rate);
                HRESULT NotifyLoadedMetadata();
                HRESULT NotifyTimeUpdate([in] Windows.Foundation.TimeSpan currentTime);
                HRESULT NotifyDurationChange([in] Windows.Foundation.TimeSpan duration);
                HRESULT NotifySeeking();
                HRESULT NotifySeeked();
                HRESULT NotifyPaused();
                HRESULT NotifyPlaying();
                HRESULT NotifyEnded();
                HRESULT NotifyError();
                HRESULT NotifyStopped();
                [propget] HRESULT FriendlyName([out] [retval] HSTRING* value);
                [propput] HRESULT FriendlyName([in] HSTRING value);
                [propput] HRESULT SupportsImage([in] boolean value);
                [propget] HRESULT SupportsImage([out] [retval] boolean* value);
                [propput] HRESULT SupportsAudio([in] boolean value);
                [propget] HRESULT SupportsAudio([out] [retval] boolean* value);
                [propput] HRESULT SupportsVideo([in] boolean value);
                [propget] HRESULT SupportsVideo([out] [retval] boolean* value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IPropertySet** value);
                HRESULT StartAsync([out] [retval] Windows.Foundation.IAsyncAction** action);
                HRESULT StopAsync([out] [retval] Windows.Foundation.IAsyncAction** action);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSource)]
            [uuid(7F138A08-FBB7-4B09-8356-AA5F4E335C31)]
            interface IPlayToSource : IInspectable
            {
                [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Connection([out] [retval] Windows.Media.PlayTo.PlayToConnection** value);
                [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Next([out] [retval] Windows.Media.PlayTo.PlayToSource** value);
                [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT Next([in] Windows.Media.PlayTo.PlayToSource* value);
                [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT PlayNext();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceDeferral may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSourceDeferral)]
            [uuid(4100891D-278E-4F29-859B-A9E501053E7D)]
            interface IPlayToSourceDeferral : IInspectable
            {
                [deprecated("PlayToSourceDeferral may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSourceRequest)]
            [uuid(F8584665-64F4-44A0-AC0D-468D2B8FDA83)]
            interface IPlayToSourceRequest : IInspectable
            {
                [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
                [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT DisplayErrorString([in] HSTRING errorString);
                [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT GetDeferral([out] [retval] Windows.Media.PlayTo.PlayToSourceDeferral** deferral);
                [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT SetSource([in] Windows.Media.PlayTo.PlayToSource* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceRequestedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSourceRequestedEventArgs)]
            [uuid(C5CDC330-29DF-4EC6-9DA9-9FBDFCFC1B3E)]
            interface IPlayToSourceRequestedEventArgs : IInspectable
            {
                [deprecated("PlayToSourceRequestedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT SourceRequest([out] [retval] Windows.Media.PlayTo.PlayToSourceRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSourceSelectedEventArgs)]
            [uuid(0C9D8511-5202-4DCB-8C67-ABDA12BB3C12)]
            interface IPlayToSourceSelectedEventArgs : IInspectable
            {
                [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT FriendlyName([out] [retval] HSTRING* value);
                [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Icon([out] [retval] Windows.Storage.Streams.IRandomAccessStreamWithContentType** value);
                [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT SupportsImage([out] [retval] boolean* value);
                [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT SupportsAudio([out] [retval] boolean* value);
                [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT SupportsVideo([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceWithPreferredSourceUri may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlayToSource)]
            [uuid(AAB253EB-3301-4DC4-AFBA-B2F2ED9635A0)]
            interface IPlayToSourceWithPreferredSourceUri : IInspectable
            {
                [deprecated("PlayToSourceWithPreferredSourceUri may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT PreferredSourceUri([out] [retval] Windows.Foundation.Uri** value);
                [deprecated("PlayToSourceWithPreferredSourceUri may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT PreferredSourceUri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.PlaybackRateChangeRequestedEventArgs)]
            [uuid(0F5661AE-2C88-4CCA-8540-D586095D13A5)]
            interface IPlaybackRateChangeRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Rate([out] [retval] DOUBLE* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.SourceChangeRequestedEventArgs)]
            [uuid(FB3F3A96-7AA6-4A8B-86E7-54F6C6D34F64)]
            interface ISourceChangeRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Stream([out] [retval] Windows.Storage.Streams.IRandomAccessStreamWithContentType** value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propget] HRESULT Author([out] [retval] HSTRING* value);
                [propget] HRESULT Album([out] [retval] HSTRING* value);
                [propget] HRESULT Genre([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT Date([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propget] HRESULT Thumbnail([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propget] HRESULT Rating([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.PlayTo.VolumeChangeRequestedEventArgs)]
            [uuid(6F026D5C-CF75-4C2B-913E-6D7C6C329179)]
            interface IVolumeChangeRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Volume([out] [retval] DOUBLE* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass CurrentTimeChangeRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.ICurrentTimeChangeRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass MuteChangeRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IMuteChangeRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PlayToConnection
            {
                [default] interface Windows.Media.PlayTo.IPlayToConnection;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionErrorEventArgs may be altered or unavailable for releases after Windows 10. Instead, use CastingConnectionErrorOccurredEventArgs.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PlayToConnectionErrorEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlayToConnectionErrorEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionStateChangedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PlayToConnectionStateChangedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlayToConnectionStateChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToConnectionTransferredEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PlayToConnectionTransferredEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlayToConnectionTransferredEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToManager may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.PlayTo.IPlayToManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass PlayToManager
            {
                [default] interface Windows.Media.PlayTo.IPlayToManager;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(both)]
            runtimeclass PlayToReceiver
            {
                [default] interface Windows.Media.PlayTo.IPlayToReceiver;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSource may be altered or unavailable for releases after Windows 10. Instead, use CastingSource.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PlayToSource
            {
                [default] interface Windows.Media.PlayTo.IPlayToSource;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.PlayTo.IPlayToSourceWithPreferredSourceUri;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceDeferral may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PlayToSourceDeferral
            {
                [default] interface Windows.Media.PlayTo.IPlayToSourceDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PlayToSourceRequest
            {
                [default] interface Windows.Media.PlayTo.IPlayToSourceRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceRequestedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PlayToSourceRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlayToSourceRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("PlayToSourceSelectedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PlayToSourceSelectedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlayToSourceSelectedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass PlaybackRateChangeRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IPlaybackRateChangeRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass SourceChangeRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.ISourceChangeRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass VolumeChangeRequestedEventArgs
            {
                [default] interface Windows.Media.PlayTo.IVolumeChangeRequestedEventArgs;
            }
        }
    }
}
