// // 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.idl"; import "Windows.Storage.Streams.idl"; // Forward Declare namespace Windows { namespace Media { namespace Streaming { apicontract StreamingContract; typedef enum ConnectionStatus ConnectionStatus; typedef enum DeviceTypes DeviceTypes; typedef enum TransportState TransportState; typedef enum TransportStatus TransportStatus; typedef struct PlaySpeed PlaySpeed; typedef struct PositionInformation PositionInformation; typedef struct RenderingParameters RenderingParameters; typedef struct TrackInformation TrackInformation; typedef struct TransportInformation TransportInformation; delegate ConnectionStatusHandler; delegate DeviceControllerFinderHandler; delegate RenderingParametersUpdateHandler; delegate TransportParametersUpdateHandler; interface IActiveBasicDevice; interface IActiveBasicDeviceStatics; interface IBasicDevice; interface IDeviceController; interface IDeviceIcon; interface IDevicePair; interface IMediaRenderer; interface IMediaRendererActionInformation; interface IMediaRendererFactory; interface IStreamSelectorStatics; interface ITransportParameters; runtimeclass ActiveBasicDevice; runtimeclass BasicDevice; runtimeclass CreateMediaRendererOperation; runtimeclass DeviceController; runtimeclass DevicePair; runtimeclass MediaRenderer; runtimeclass StreamSelector; } } } // Generic instantiations namespace Windows { namespace Media { namespace Streaming { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; } } } } // Type definition namespace Windows { namespace Media { namespace Streaming { [contractversion(1.0)] apicontract StreamingContract { } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] enum ConnectionStatus { Online = 0, Offline = 1, Sleeping = 2 }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [flags] enum DeviceTypes { Unknown = 0x0, DigitalMediaRenderer = 0x1, DigitalMediaServer = 0x2, DigitalMediaPlayer = 0x4 }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] enum TransportState { Unknown = 0, Stopped = 1, Playing = 2, Transitioning = 3, Paused = 4, Recording = 5, NoMediaPresent = 6, Last = 7 }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] enum TransportStatus { Unknown = 0, Ok = 1, ErrorOccurred = 2, Last = 3 }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] struct PlaySpeed { INT32 Numerator; UINT32 Denominator; }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] struct TrackInformation { UINT32 Track; UINT32 TrackId; Windows.Foundation.TimeSpan TrackDuration; }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] struct PositionInformation { Windows.Media.Streaming.TrackInformation trackInformation; Windows.Foundation.TimeSpan relativeTime; }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] struct RenderingParameters { UINT32 volume; boolean mute; }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] struct TransportInformation { Windows.Media.Streaming.TransportState CurrentTransportState; Windows.Media.Streaming.TransportStatus CurrentTransportStatus; Windows.Media.Streaming.PlaySpeed CurrentSpeed; }; [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(B571C28C-A472-48D5-88D2-8ADCAF1B8813)] delegate HRESULT ConnectionStatusHandler([in] Windows.Media.Streaming.IBasicDevice* sender, [in] Windows.Media.Streaming.ConnectionStatus arg); [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(A88A7D06-988C-4403-9D8A-015BED140B34)] delegate HRESULT DeviceControllerFinderHandler([in] Windows.Media.Streaming.IDeviceController* sender, [in] HSTRING uniqueDeviceName, [in] Windows.Media.Streaming.IBasicDevice* device); [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(3A2D9D45-72E9-4311-B46C-27C8BB7E6CB3)] delegate HRESULT RenderingParametersUpdateHandler([in] Windows.Media.Streaming.IMediaRenderer* sender, [in] Windows.Media.Streaming.RenderingParameters arg); [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(16FD02D5-DA61-49D7-AAB2-76867DD42DB7)] delegate HRESULT TransportParametersUpdateHandler([in] Windows.Media.Streaming.IMediaRenderer* sender, [in] Windows.Media.Streaming.ITransportParameters* arg); [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(B64D6974-6E79-49AF-9933-908B6E9A160C)] interface IActiveBasicDevice : IInspectable requires Windows.Media.Streaming.IBasicDevice { [propget] HRESULT MaxVolume([out] [retval] UINT32* value); [propget] HRESULT IsMuteSupported([out] [retval] boolean* value); [propget] HRESULT IsSetNextSourceSupported([out] [retval] boolean* value); [propget] HRESULT IsAudioSupported([out] [retval] boolean* value); [propget] HRESULT IsVideoSupported([out] [retval] boolean* value); [propget] HRESULT IsImageSupported([out] [retval] boolean* value); [propget] HRESULT IsSearchSupported([out] [retval] boolean* value); HRESULT GetCachedSinkProtocolInfo([out] [retval] HSTRING* value); HRESULT SetCachedSinkProtocolInfo([in] HSTRING value); HRESULT GetCachedExtraSinkProtocolInfo([out] [retval] HSTRING* value); HRESULT GetEffectiveBandwidth([in] boolean transmitSpeed, [out] [retval] UINT64* currentSpeed); HRESULT GetCachedBitrateMeasurement([in] GUID physicalNetworkInterface, [out] [retval] UINT64* bitrate); HRESULT SetCachedBitrateMeasurement([in] GUID physicalNetworkInterface, [in] UINT64 bitrate); [propget] HRESULT LogicalNetworkInterface([out] [retval] GUID* logicalNetworkInterface); [propget] HRESULT PhysicalNetworkInterface([out] [retval] GUID* physicalNetworkInterface); HRESULT NotifyStreamingStatus([in] boolean fIsStreaming); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(6D33255D-3642-4618-9DB6-43524F4DEADC)] interface IActiveBasicDeviceStatics : IInspectable { HRESULT CreateBasicDeviceAsync([in] HSTRING deviceIdentifier, [in] Windows.Media.Streaming.DeviceTypes type, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT CloneBasicDeviceAsync([in] Windows.Media.Streaming.IBasicDevice* basicDevice, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetDevicesOnMatchingNetworkAsync([in] Windows.Media.Streaming.IActiveBasicDevice* server, [in] Windows.Media.Streaming.IActiveBasicDevice* renderer, [in] boolean optimizeForProxying, [in] boolean allowChangeRendererNetwork, [out] [retval] Windows.Foundation.IAsyncOperation** operation); HRESULT CreateDevicesOnMatchingNetworkAsync([in] HSTRING serverUDN, [in] Windows.Media.Streaming.IActiveBasicDevice* renderer, [in] boolean optimizeForProxying, [in] boolean allowChangeRendererNetwork, [out] [retval] Windows.Foundation.IAsyncOperation** operation); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(F4F26CBB-7962-48B7-80F7-C3A5D753BCB0)] interface IBasicDevice : IInspectable { [propget] HRESULT FriendlyName([out] [retval] HSTRING* value); [propput] HRESULT FriendlyName([in] HSTRING value); [propget] HRESULT ManufacturerName([out] [retval] HSTRING* value); [propget] HRESULT ManufacturerUrl([out] [retval] HSTRING* value); [propget] HRESULT UniqueDeviceName([out] [retval] HSTRING* value); [propget] HRESULT ModelName([out] [retval] HSTRING* value); [propget] HRESULT ModelNumber([out] [retval] HSTRING* value); [propget] HRESULT ModelUrl([out] [retval] HSTRING* value); [propget] HRESULT Description([out] [retval] HSTRING* value); [propget] HRESULT SerialNumber([out] [retval] HSTRING* value); [propget] HRESULT PresentationUrl([out] [retval] HSTRING* value); [propget] HRESULT RemoteStreamingUrls([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT PhysicalAddresses([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT IpAddresses([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT CanWakeDevices([out] [retval] boolean* value); [propget] HRESULT DiscoveredOnCurrentNetwork([out] [retval] boolean* value); [propget] HRESULT Type([out] [retval] Windows.Media.Streaming.DeviceTypes* value); [propget] HRESULT Icons([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT ConnectionStatus([out] [retval] Windows.Media.Streaming.ConnectionStatus* value); [eventadd] HRESULT ConnectionStatusChanged([in] Windows.Media.Streaming.ConnectionStatusHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT ConnectionStatusChanged([in] EventRegistrationToken token); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(4FEEB26D-50A7-402B-896A-BE95064D6BFF)] interface IDeviceController : IInspectable { [propget] HRESULT CachedDevices([out] [retval] Windows.Foundation.Collections.IVector** value); HRESULT AddDevice([in] HSTRING uniqueDeviceName); HRESULT RemoveDevice([in] Windows.Media.Streaming.IBasicDevice* device); [eventadd] HRESULT DeviceArrival([in] Windows.Media.Streaming.DeviceControllerFinderHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT DeviceArrival([in] EventRegistrationToken token); [eventadd] HRESULT DeviceDeparture([in] Windows.Media.Streaming.DeviceControllerFinderHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT DeviceDeparture([in] EventRegistrationToken token); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(8FFB1A1E-023D-4DE1-B556-AB5ABF01929C)] interface IDeviceIcon : IInspectable { [propget] HRESULT Width([out] [retval] UINT32* value); [propget] HRESULT Height([out] [retval] UINT32* value); [propget] HRESULT ContentType([out] [retval] HSTRING* value); [propget] HRESULT Stream([out] [retval] Windows.Storage.Streams.IRandomAccessStreamWithContentType** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(F1A423F1-B7B4-449C-A90D-AEA8E17C5E5F)] interface IDevicePair : IInspectable { [propget] HRESULT Server([out] [retval] Windows.Media.Streaming.ActiveBasicDevice** value); [propget] HRESULT Renderer([out] [retval] Windows.Media.Streaming.ActiveBasicDevice** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(2C012EC3-D975-47FB-96AC-A6418B326D2B)] interface IMediaRenderer : IInspectable requires Windows.Media.Streaming.IBasicDevice { [propget] HRESULT IsAudioSupported([out] [retval] boolean* value); [propget] HRESULT IsVideoSupported([out] [retval] boolean* value); [propget] HRESULT IsImageSupported([out] [retval] boolean* value); [propget] HRESULT ActionInformation([out] [retval] Windows.Media.Streaming.IMediaRendererActionInformation** value); HRESULT SetSourceFromUriAsync([in] HSTRING URI, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetSourceFromStreamAsync([in] IInspectable* stream, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetSourceFromMediaSourceAsync([in] IInspectable* mediaSource, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetNextSourceFromUriAsync([in] HSTRING URI, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetNextSourceFromStreamAsync([in] IInspectable* stream, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetNextSourceFromMediaSourceAsync([in] IInspectable* mediaSource, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT PlayAsync([out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT PlayAtSpeedAsync([in] Windows.Media.Streaming.PlaySpeed playSpeed, [out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT StopAsync([out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT PauseAsync([out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT GetMuteAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetMuteAsync([in] boolean mute, [out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT GetVolumeAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT SetVolumeAsync([in] UINT32 volume, [out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT SeekAsync([in] Windows.Foundation.TimeSpan target, [out] [retval] Windows.Foundation.IAsyncAction** value); HRESULT GetTransportInformationAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetPositionInformationAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); [eventadd] HRESULT TransportParametersUpdate([in] Windows.Media.Streaming.TransportParametersUpdateHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT TransportParametersUpdate([in] EventRegistrationToken token); [eventadd] HRESULT RenderingParametersUpdate([in] Windows.Media.Streaming.RenderingParametersUpdateHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT RenderingParametersUpdate([in] EventRegistrationToken token); HRESULT NextAsync([out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(66FBBFEE-5AB0-4A4F-8D15-E5056B26BEDA)] interface IMediaRendererActionInformation : IInspectable { [propget] HRESULT IsMuteAvailable([out] [retval] boolean* value); [propget] HRESULT IsPauseAvailable([out] [retval] boolean* value); [propget] HRESULT IsPlayAvailable([out] [retval] boolean* value); [propget] HRESULT IsSeekAvailable([out] [retval] boolean* value); [propget] HRESULT IsSetNextSourceAvailable([out] [retval] boolean* value); [propget] HRESULT IsStopAvailable([out] [retval] boolean* value); [propget] HRESULT IsVolumeAvailable([out] [retval] boolean* value); [propget] HRESULT PlaySpeeds([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(657AB43D-B909-42B2-94D0-E3A0B134E8C9)] interface IMediaRendererFactory : IInspectable { HRESULT CreateMediaRendererAsync([in] HSTRING deviceIdentifier, [out] [retval] Windows.Media.Streaming.CreateMediaRendererOperation** value); HRESULT CreateMediaRendererFromBasicDeviceAsync([in] Windows.Media.Streaming.IBasicDevice* basicDevice, [out] [retval] Windows.Media.Streaming.CreateMediaRendererOperation** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(8A4CD4A1-ED85-4E0F-BD68-8A6862E4636D)] interface IStreamSelectorStatics : IInspectable { HRESULT SelectBestStreamAsync([in] Windows.Storage.StorageFile* storageFile, [in] Windows.Foundation.Collections.IPropertySet* selectorProperties, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetStreamPropertiesAsync([in] Windows.Storage.StorageFile* storageFile, [in] Windows.Foundation.Collections.IPropertySet* selectorProperties, [out] [retval] Windows.Foundation.IAsyncOperation*>** value); HRESULT SelectBestStreamFromStreamAsync([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] Windows.Foundation.Collections.IPropertySet* selectorProperties, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetStreamPropertiesFromStreamAsync([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] Windows.Foundation.Collections.IPropertySet* selectorProperties, [out] [retval] Windows.Foundation.IAsyncOperation*>** value); } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [uuid(EB0C4E24-2283-438D-8FFF-DBE9DF1CB2CC)] interface ITransportParameters : IInspectable { [propget] HRESULT ActionInformation([out] [retval] Windows.Media.Streaming.IMediaRendererActionInformation** value); [propget] HRESULT TrackInformation([out] [retval] Windows.Media.Streaming.TrackInformation* value); [propget] HRESULT TransportInformation([out] [retval] Windows.Media.Streaming.TransportInformation* value); } [activatable(Windows.Media.Streaming.StreamingContract, 1.0)] [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [static(Windows.Media.Streaming.IActiveBasicDeviceStatics, Windows.Media.Streaming.StreamingContract, 1.0)] runtimeclass ActiveBasicDevice { [default] interface Windows.Media.Streaming.IActiveBasicDevice; interface Windows.Media.Streaming.IBasicDevice; } [activatable(Windows.Media.Streaming.StreamingContract, 1.0)] [contract(Windows.Media.Streaming.StreamingContract, 1.0)] runtimeclass BasicDevice { [default] interface Windows.Media.Streaming.IBasicDevice; } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] runtimeclass CreateMediaRendererOperation { [default] interface Windows.Foundation.IAsyncOperation; } [activatable(Windows.Media.Streaming.StreamingContract, 1.0)] [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [threading(mta)] runtimeclass DeviceController { [default] interface Windows.Media.Streaming.IDeviceController; } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] runtimeclass DevicePair { [default] interface Windows.Media.Streaming.IDevicePair; } [activatable(Windows.Media.Streaming.StreamingContract, 1.0)] [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [static(Windows.Media.Streaming.IMediaRendererFactory, Windows.Media.Streaming.StreamingContract, 1.0)] [threading(mta)] runtimeclass MediaRenderer { [default] interface Windows.Media.Streaming.IMediaRenderer; interface Windows.Media.Streaming.IBasicDevice; } [contract(Windows.Media.Streaming.StreamingContract, 1.0)] [static(Windows.Media.Streaming.IStreamSelectorStatics, Windows.Media.Streaming.StreamingContract, 1.0)] [threading(mta)] runtimeclass StreamSelector { } } } }