//
// 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.Core.idl";
import "Windows.Media.Protection.idl";
import "Windows.Storage.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 Media
    {
        namespace Core
        {
            runtimeclass AudioStreamDescriptor;

            interface IMediaStreamDescriptor;

            runtimeclass MediaStreamSample;

            runtimeclass MediaStreamSource;

            runtimeclass VideoStreamDescriptor;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            interface IMediaProtectionServiceRequest;

            runtimeclass MediaProtectionManager;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            namespace PlayReady
            {
                typedef enum NDCertificateFeature NDCertificateFeature;

                typedef enum NDCertificatePlatformID NDCertificatePlatformID;

                typedef enum NDCertificateType NDCertificateType;

                typedef enum NDClosedCaptionFormat NDClosedCaptionFormat;

                typedef enum NDContentIDType NDContentIDType;

                typedef enum NDMediaStreamType NDMediaStreamType;

                typedef enum NDProximityDetectionType NDProximityDetectionType;

                typedef enum NDStartAsyncOptions NDStartAsyncOptions;

                typedef enum PlayReadyDecryptorSetup PlayReadyDecryptorSetup;

                typedef enum PlayReadyEncryptionAlgorithm PlayReadyEncryptionAlgorithm;

                typedef enum PlayReadyHardwareDRMFeatures PlayReadyHardwareDRMFeatures;

                typedef enum PlayReadyITADataFormat PlayReadyITADataFormat;

                interface INDClient;

                interface INDClientFactory;

                interface INDClosedCaptionDataReceivedEventArgs;

                interface INDCustomData;

                interface INDCustomDataFactory;

                interface INDDownloadEngine;

                interface INDDownloadEngineNotifier;

                interface INDLicenseFetchCompletedEventArgs;

                interface INDLicenseFetchDescriptor;

                interface INDLicenseFetchDescriptorFactory;

                interface INDLicenseFetchResult;

                interface INDMessenger;

                interface INDProximityDetectionCompletedEventArgs;

                interface INDRegistrationCompletedEventArgs;

                interface INDSendResult;

                interface INDStartResult;

                interface INDStorageFileHelper;

                interface INDStreamParser;

                interface INDStreamParserNotifier;

                interface INDTCPMessengerFactory;

                interface INDTransmitterProperties;

                interface IPlayReadyContentHeader;

                interface IPlayReadyContentHeader2;

                interface IPlayReadyContentHeaderFactory;

                interface IPlayReadyContentHeaderFactory2;

                interface IPlayReadyContentResolver;

                interface IPlayReadyDomain;

                interface IPlayReadyDomainIterableFactory;

                interface IPlayReadyDomainJoinServiceRequest;

                interface IPlayReadyDomainLeaveServiceRequest;

                interface IPlayReadyITADataGenerator;

                interface IPlayReadyIndividualizationServiceRequest;

                interface IPlayReadyLicense;

                interface IPlayReadyLicense2;

                interface IPlayReadyLicenseAcquisitionServiceRequest;

                interface IPlayReadyLicenseAcquisitionServiceRequest2;

                interface IPlayReadyLicenseAcquisitionServiceRequest3;

                interface IPlayReadyLicenseIterableFactory;

                interface IPlayReadyLicenseManagement;

                interface IPlayReadyLicenseSession;

                interface IPlayReadyLicenseSession2;

                interface IPlayReadyLicenseSessionFactory;

                interface IPlayReadyMeteringReportServiceRequest;

                interface IPlayReadyRevocationServiceRequest;

                interface IPlayReadySecureStopIterableFactory;

                interface IPlayReadySecureStopServiceRequest;

                interface IPlayReadySecureStopServiceRequestFactory;

                interface IPlayReadyServiceRequest;

                interface IPlayReadySoapMessage;

                interface IPlayReadyStatics;

                interface IPlayReadyStatics2;

                interface IPlayReadyStatics3;

                interface IPlayReadyStatics4;

                interface IPlayReadyStatics5;

                runtimeclass NDClient;

                runtimeclass NDCustomData;

                runtimeclass NDDownloadEngineNotifier;

                runtimeclass NDLicenseFetchDescriptor;

                runtimeclass NDStorageFileHelper;

                runtimeclass NDStreamParserNotifier;

                runtimeclass NDTCPMessenger;

                runtimeclass PlayReadyContentHeader;

                runtimeclass PlayReadyContentResolver;

                runtimeclass PlayReadyDomain;

                runtimeclass PlayReadyDomainIterable;

                runtimeclass PlayReadyDomainIterator;

                runtimeclass PlayReadyDomainJoinServiceRequest;

                runtimeclass PlayReadyDomainLeaveServiceRequest;

                runtimeclass PlayReadyITADataGenerator;

                runtimeclass PlayReadyIndividualizationServiceRequest;

                runtimeclass PlayReadyLicense;

                runtimeclass PlayReadyLicenseAcquisitionServiceRequest;

                runtimeclass PlayReadyLicenseIterable;

                runtimeclass PlayReadyLicenseIterator;

                runtimeclass PlayReadyLicenseManagement;

                runtimeclass PlayReadyLicenseSession;

                runtimeclass PlayReadyMeteringReportServiceRequest;

                runtimeclass PlayReadyRevocationServiceRequest;

                runtimeclass PlayReadySecureStopIterable;

                runtimeclass PlayReadySecureStopIterator;

                runtimeclass PlayReadySecureStopServiceRequest;

                runtimeclass PlayReadySoapMessage;

                runtimeclass PlayReadyStatics;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            namespace PlayReady
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadyDomain*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadyLicense*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequest*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadyDomain*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadyLicense*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequest*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDLicenseFetchResult*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDSendResult*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDStartResult*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, IInspectable*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDClosedCaptionDataReceivedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDLicenseFetchCompletedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDProximityDetectionCompletedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDRegistrationCompletedEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            namespace PlayReady
            {
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDCertificateFeature is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDCertificateFeature
                {
                    Transmitter        = 1,
                    Receiver           = 2,
                    SharedCertificate  = 3,
                    SecureClock        = 4,
                    AntiRollBackClock  = 5,
                    CRLS               = 9,
                    PlayReady3Features = 13
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDCertificatePlatformID is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDCertificatePlatformID
                {
                    Windows             = 0,
                    OSX                 = 1,
                    WindowsOnARM        = 2,
                    WindowsMobile7      = 5,
                    iOSOnARM            = 6,
                    XBoxOnPPC           = 7,
                    WindowsPhone8OnARM  = 8,
                    WindowsPhone8OnX86  = 9,
                    XboxOne             = 10,
                    AndroidOnARM        = 11,
                    WindowsPhone81OnARM = 12,
                    WindowsPhone81OnX86 = 13
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDCertificateType is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDCertificateType
                {
                    Unknown       = 0,
                    PC            = 1,
                    Device        = 2,
                    Domain        = 3,
                    Issuer        = 4,
                    CrlSigner     = 5,
                    Service       = 6,
                    Silverlight   = 7,
                    Application   = 8,
                    Metering      = 9,
                    KeyFileSigner = 10,
                    Server        = 11,
                    LicenseSigner = 12
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDClosedCaptionFormat is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDClosedCaptionFormat
                {
                    ATSC    = 0,
                    SCTE20  = 1,
                    Unknown = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDContentIDType is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDContentIDType
                {
                    KeyID           = 1,
                    PlayReadyObject = 2,
                    Custom          = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDMediaStreamType is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDMediaStreamType
                {
                    Audio = 1,
                    Video = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDProximityDetectionType is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDProximityDetectionType
                {
                    UDP               = 1,
                    TCP               = 2,
                    TransportAgnostic = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDStartAsyncOptions is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                enum NDStartAsyncOptions
                {
                    MutualAuthentication     = 1,
                    WaitForLicenseDescriptor = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum PlayReadyDecryptorSetup
                {
                    Uninitialized = 0,
                    OnDemand      = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum PlayReadyEncryptionAlgorithm
                {
                    Unprotected   = 0,
                    Aes128Ctr     = 1,
                    Cocktail      = 4,
                    [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                    Aes128Cbc     = 5,
                    [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                    Unspecified   = 65535,
                    Uninitialized = 2147483647
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum PlayReadyHardwareDRMFeatures
                {
                    HardwareDRM = 1,
                    HEVC        = 2,
                    [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                    Aes128Cbc   = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum PlayReadyITADataFormat
                {
                    SerializedProperties                              = 0,
                    SerializedProperties_WithContentProtectionWrapper = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.NDClient)]
                [uuid(3BD6781B-61B8-46E2-99A5-8ABCB6B9F7D6)]
                interface INDClient : IInspectable
                {
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventadd] HRESULT RegistrationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDRegistrationCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventremove] HRESULT RegistrationCompleted([in] EventRegistrationToken token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventadd] HRESULT ProximityDetectionCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDProximityDetectionCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventremove] HRESULT ProximityDetectionCompleted([in] EventRegistrationToken token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventadd] HRESULT LicenseFetchCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDLicenseFetchCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventremove] HRESULT LicenseFetchCompleted([in] EventRegistrationToken token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventadd] HRESULT ReRegistrationNeeded([in] Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventremove] HRESULT ReRegistrationNeeded([in] EventRegistrationToken token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventadd] HRESULT ClosedCaptionDataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Media.Protection.PlayReady.NDClient*, Windows.Media.Protection.PlayReady.INDClosedCaptionDataReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [eventremove] HRESULT ClosedCaptionDataReceived([in] EventRegistrationToken token);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT StartAsync([in] Windows.Foundation.Uri* contentUrl, [in] UINT32 startAsyncOptions, [in] Windows.Media.Protection.PlayReady.INDCustomData* registrationCustomData, [in] Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptor* licenseFetchDescriptor, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDStartResult*>** result);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT LicenseFetchAsync([in] Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptor* licenseFetchDescriptor, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDLicenseFetchResult*>** result);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT ReRegistrationAsync([in] Windows.Media.Protection.PlayReady.INDCustomData* registrationCustomData, [out] [retval] Windows.Foundation.IAsyncAction** result);
                    [deprecated("INDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Close();
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDClientFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.NDClient)]
                [uuid(3E53DD62-FEE8-451F-B0D4-F706CCA3E037)]
                interface INDClientFactory : IInspectable
                {
                    [deprecated("INDClientFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT CreateInstance([in] Windows.Media.Protection.PlayReady.INDDownloadEngine* downloadEngine, [in] Windows.Media.Protection.PlayReady.INDStreamParser* streamParser, [in] Windows.Media.Protection.PlayReady.INDMessenger* pMessenger, [out] [retval] Windows.Media.Protection.PlayReady.NDClient** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDClosedCaptionDataReceivedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(4738D29F-C345-4649-8468-B8C5FC357190)]
                interface INDClosedCaptionDataReceivedEventArgs : IInspectable
                {
                    [deprecated("INDClosedCaptionDataReceivedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ClosedCaptionDataFormat([out] [retval] Windows.Media.Protection.PlayReady.NDClosedCaptionFormat* ccForamt);
                    [deprecated("INDClosedCaptionDataReceivedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT PresentationTimestamp([out] [retval] INT64* presentationTimestamp);
                    [deprecated("INDClosedCaptionDataReceivedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ClosedCaptionData([out] UINT32* __ccDataBytesSize, [out] [retval] [size_is(, *__ccDataBytesSize)] BYTE** ccDataBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDCustomData is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(F5CB0FDC-2D09-4F19-B5E1-76A0B3EE9267)]
                interface INDCustomData : IInspectable
                {
                    [deprecated("INDCustomData is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT CustomDataTypeID([out] UINT32* __customDataTypeIDBytesSize, [out] [retval] [size_is(, *__customDataTypeIDBytesSize)] BYTE** customDataTypeIDBytes);
                    [deprecated("INDCustomData is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT CustomData([out] UINT32* __customDataBytesSize, [out] [retval] [size_is(, *__customDataBytesSize)] BYTE** customDataBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDCustomDataFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.NDCustomData)]
                [uuid(D65405AB-3424-4833-8C9A-AF5FDEB22872)]
                interface INDCustomDataFactory : IInspectable
                {
                    [deprecated("INDCustomDataFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT CreateInstance([in] UINT32 __customDataTypeIDBytesSize, [in] [size_is(__customDataTypeIDBytesSize)] BYTE* customDataTypeIDBytes, [in] UINT32 __customDataBytesSize, [in] [size_is(__customDataBytesSize)] BYTE* customDataBytes, [out] [retval] Windows.Media.Protection.PlayReady.NDCustomData** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(2D223D65-C4B6-4438-8D46-B96E6D0FB21F)]
                interface INDDownloadEngine : IInspectable
                {
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Open([in] Windows.Foundation.Uri* uri, [in] UINT32 __sessionIDBytesSize, [in] [size_is(__sessionIDBytesSize)] BYTE* sessionIDBytes);
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Pause();
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Resume();
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Close();
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT Seek([in] Windows.Foundation.TimeSpan startPosition);
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT CanSeek([out] [retval] boolean* canSeek);
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT BufferFullMinThresholdInSamples([out] [retval] UINT32* bufferFullMinThreshold);
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT BufferFullMaxThresholdInSamples([out] [retval] UINT32* bufferFullMaxThreshold);
                    [deprecated("INDDownloadEngine is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT Notifier([out] [retval] Windows.Media.Protection.PlayReady.NDDownloadEngineNotifier** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(D720B4D4-F4B8-4530-A809-9193A571E7FC)]
                interface INDDownloadEngineNotifier : IInspectable
                {
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnStreamOpened();
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnPlayReadyObjectReceived([in] UINT32 __dataBytesSize, [in] [size_is(__dataBytesSize)] BYTE* dataBytes);
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnContentIDReceived([in] Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptor* licenseFetchDescriptor);
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnDataReceived([in] UINT32 __dataBytesSize, [in] [size_is(__dataBytesSize)] BYTE* dataBytes, [in] UINT32 bytesReceived);
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnEndOfStream();
                    [deprecated("INDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnNetworkError();
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDLicenseFetchCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(1EE30A1A-11B2-4558-8865-E3A516922517)]
                interface INDLicenseFetchCompletedEventArgs : IInspectable
                {
                    [deprecated("INDLicenseFetchCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ResponseCustomData([out] [retval] Windows.Media.Protection.PlayReady.INDCustomData** customData);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(5498D33A-E686-4935-A567-7CA77AD20FA4)]
                interface INDLicenseFetchDescriptor : IInspectable
                {
                    [deprecated("INDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ContentIDType([out] [retval] Windows.Media.Protection.PlayReady.NDContentIDType* contentIDType);
                    [deprecated("INDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ContentID([out] UINT32* __contentIDBytesSize, [out] [retval] [size_is(, *__contentIDBytesSize)] BYTE** contentIDBytes);
                    [deprecated("INDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT LicenseFetchChallengeCustomData([out] [retval] Windows.Media.Protection.PlayReady.INDCustomData** licenseFetchChallengeCustomData);
                    [deprecated("INDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propput] HRESULT LicenseFetchChallengeCustomData([in] Windows.Media.Protection.PlayReady.INDCustomData* licenseFetchChallengeCustomData);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDLicenseFetchDescriptorFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.NDLicenseFetchDescriptor)]
                [uuid(D0031202-CFAC-4F00-AE6A-97AF80B848F2)]
                interface INDLicenseFetchDescriptorFactory : IInspectable
                {
                    [deprecated("INDLicenseFetchDescriptorFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT CreateInstance([in] Windows.Media.Protection.PlayReady.NDContentIDType contentIDType, [in] UINT32 __contentIDBytesSize, [in] [size_is(__contentIDBytesSize)] BYTE* contentIDBytes, [in] Windows.Media.Protection.PlayReady.INDCustomData* licenseFetchChallengeCustomData, [out] [retval] Windows.Media.Protection.PlayReady.NDLicenseFetchDescriptor** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDLicenseFetchResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(21D39698-AA62-45FF-A5FF-8037E5433825)]
                interface INDLicenseFetchResult : IInspectable
                {
                    [deprecated("INDLicenseFetchResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ResponseCustomData([out] [retval] Windows.Media.Protection.PlayReady.INDCustomData** customData);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(D42DF95D-A75B-47BF-8249-BC83820DA38A)]
                interface INDMessenger : IInspectable
                {
                    [deprecated("INDMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT SendRegistrationRequestAsync([in] UINT32 __sessionIDBytesSize, [in] [size_is(__sessionIDBytesSize)] BYTE* sessionIDBytes, [in] UINT32 __challengeDataBytesSize, [in] [size_is(__challengeDataBytesSize)] BYTE* challengeDataBytes, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDSendResult*>** result);
                    [deprecated("INDMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT SendProximityDetectionStartAsync([in] Windows.Media.Protection.PlayReady.NDProximityDetectionType pdType, [in] UINT32 __transmitterChannelBytesSize, [in] [size_is(__transmitterChannelBytesSize)] BYTE* transmitterChannelBytes, [in] UINT32 __sessionIDBytesSize, [in] [size_is(__sessionIDBytesSize)] BYTE* sessionIDBytes, [in] UINT32 __challengeDataBytesSize, [in] [size_is(__challengeDataBytesSize)] BYTE* challengeDataBytes, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDSendResult*>** result);
                    [deprecated("INDMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT SendProximityDetectionResponseAsync([in] Windows.Media.Protection.PlayReady.NDProximityDetectionType pdType, [in] UINT32 __transmitterChannelBytesSize, [in] [size_is(__transmitterChannelBytesSize)] BYTE* transmitterChannelBytes, [in] UINT32 __sessionIDBytesSize, [in] [size_is(__sessionIDBytesSize)] BYTE* sessionIDBytes, [in] UINT32 __responseDataBytesSize, [in] [size_is(__responseDataBytesSize)] BYTE* responseDataBytes, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDSendResult*>** result);
                    [deprecated("INDMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT SendLicenseFetchRequestAsync([in] UINT32 __sessionIDBytesSize, [in] [size_is(__sessionIDBytesSize)] BYTE* sessionIDBytes, [in] UINT32 __challengeDataBytesSize, [in] [size_is(__challengeDataBytesSize)] BYTE* challengeDataBytes, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Protection.PlayReady.INDSendResult*>** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDProximityDetectionCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(2A706328-DA25-4F8C-9EB7-5D0FC3658BCA)]
                interface INDProximityDetectionCompletedEventArgs : IInspectable
                {
                    [deprecated("INDProximityDetectionCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ProximityDetectionRetryCount([out] [retval] UINT32* retryCount);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDRegistrationCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(9E39B64D-AB5B-4905-ACDC-787A77C6374D)]
                interface INDRegistrationCompletedEventArgs : IInspectable
                {
                    [deprecated("INDRegistrationCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ResponseCustomData([out] [retval] Windows.Media.Protection.PlayReady.INDCustomData** customData);
                    [deprecated("INDRegistrationCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT TransmitterProperties([out] [retval] Windows.Media.Protection.PlayReady.INDTransmitterProperties** transmitterProperties);
                    [deprecated("INDRegistrationCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT TransmitterCertificateAccepted([out] [retval] boolean* acceptpt);
                    [deprecated("INDRegistrationCompletedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propput] HRESULT TransmitterCertificateAccepted([in] boolean accept);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDSendResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(E3685517-A584-479D-90B7-D689C7BF7C80)]
                interface INDSendResult : IInspectable
                {
                    [deprecated("INDSendResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT Response([out] UINT32* __responseDataBytesSize, [out] [retval] [size_is(, *__responseDataBytesSize)] BYTE** responseDataBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDStartResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(79F6E96E-F50F-4015-8BA4-C2BC344EBD4E)]
                interface INDStartResult : IInspectable
                {
                    [deprecated("INDStartResult is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT MediaStreamSource([out] [retval] Windows.Media.Core.MediaStreamSource** mediaStreamSource);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDStorageFileHelper is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(D8F0BEF8-91D2-4D47-A3F9-EAFF4EDB729F)]
                interface INDStorageFileHelper : IInspectable
                {
                    [deprecated("INDStorageFileHelper is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT GetFileURLs([in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** fileURLs);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(E0BAA198-9796-41C9-8695-59437E67E66A)]
                interface INDStreamParser : IInspectable
                {
                    [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT ParseData([in] UINT32 __dataBytesSize, [in] [size_is(__dataBytesSize)] BYTE* dataBytes);
                    [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT GetStreamInformation([in] Windows.Media.Core.IMediaStreamDescriptor* descriptor, [out] Windows.Media.Protection.PlayReady.NDMediaStreamType* streamType, [out] [retval] UINT32* streamID);
                    [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT BeginOfStream();
                    [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT EndOfStream();
                    [deprecated("INDStreamParser is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT Notifier([out] [retval] Windows.Media.Protection.PlayReady.NDStreamParserNotifier** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(C167ACD0-2CE6-426C-ACE5-5E9275FEA715)]
                interface INDStreamParserNotifier : IInspectable
                {
                    [deprecated("INDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnContentIDReceived([in] Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptor* licenseFetchDescriptor);
                    [deprecated("INDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnMediaStreamDescriptorCreated([in] Windows.Foundation.Collections.IVector<Windows.Media.Core.AudioStreamDescriptor*>* audioStreamDescriptors, [in] Windows.Foundation.Collections.IVector<Windows.Media.Core.VideoStreamDescriptor*>* videoStreamDescriptors);
                    [deprecated("INDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnSampleParsed([in] UINT32 streamID, [in] Windows.Media.Protection.PlayReady.NDMediaStreamType streamType, [in] Windows.Media.Core.MediaStreamSample* streamSample, [in] INT64 pts, [in] Windows.Media.Protection.PlayReady.NDClosedCaptionFormat ccFormat, [in] UINT32 __ccDataBytesSize, [in] [size_is(__ccDataBytesSize)] BYTE* ccDataBytes);
                    [deprecated("INDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT OnBeginSetupDecryptor([in] Windows.Media.Core.IMediaStreamDescriptor* descriptor, [in] GUID keyID, [in] UINT32 __proBytesSize, [in] [size_is(__proBytesSize)] BYTE* proBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDTCPMessengerFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.NDTCPMessenger)]
                [uuid(7DD85CFE-1B99-4F68-8F82-8177F7CEDF2B)]
                interface INDTCPMessengerFactory : IInspectable
                {
                    [deprecated("INDTCPMessengerFactory is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] HRESULT CreateInstance([in] HSTRING remoteHostName, [in] UINT32 remoteHostPort, [out] [retval] Windows.Media.Protection.PlayReady.NDTCPMessenger** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(E536AF23-AC4F-4ADC-8C66-4FF7C2702DD6)]
                interface INDTransmitterProperties : IInspectable
                {
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT CertificateType([out] [retval] Windows.Media.Protection.PlayReady.NDCertificateType* type);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT PlatformIdentifier([out] [retval] Windows.Media.Protection.PlayReady.NDCertificatePlatformID* identifier);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT SupportedFeatures([out] UINT32* __featureSetsSize, [out] [retval] [size_is(, *__featureSetsSize)] Windows.Media.Protection.PlayReady.NDCertificateFeature** featureSets);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT SecurityLevel([out] [retval] UINT32* level);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT SecurityVersion([out] [retval] UINT32* securityVersion);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ExpirationDate([out] [retval] Windows.Foundation.DateTime* expirationDate);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ClientID([out] UINT32* __clientIDBytesSize, [out] [retval] [size_is(, *__clientIDBytesSize)] BYTE** clientIDBytes);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ModelDigest([out] UINT32* __modelDigestBytesSize, [out] [retval] [size_is(, *__modelDigestBytesSize)] BYTE** modelDigestBytes);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ModelManufacturerName([out] [retval] HSTRING* modelManufacturerName);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ModelName([out] [retval] HSTRING* modelName);
                    [deprecated("INDTransmitterProperties is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)] [propget] HRESULT ModelNumber([out] [retval] HSTRING* modelNumber);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyContentHeader)]
                [uuid(9A438A6A-7F4C-452E-88BD-0148C6387A2C)]
                interface IPlayReadyContentHeader : IInspectable
                {
                    [propget] HRESULT KeyId([out] [retval] GUID* value);
                    [propget] HRESULT KeyIdString([out] [retval] HSTRING* value);
                    [propget] HRESULT LicenseAcquisitionUrl([out] [retval] Windows.Foundation.Uri** value);
                    [propget] HRESULT LicenseAcquisitionUserInterfaceUrl([out] [retval] Windows.Foundation.Uri** value);
                    [propget] HRESULT DomainServiceId([out] [retval] GUID* value);
                    [propget] HRESULT EncryptionType([out] [retval] Windows.Media.Protection.PlayReady.PlayReadyEncryptionAlgorithm* value);
                    [propget] HRESULT CustomAttributes([out] [retval] HSTRING* value);
                    [propget] HRESULT DecryptorSetup([out] [retval] Windows.Media.Protection.PlayReady.PlayReadyDecryptorSetup* value);
                    HRESULT GetSerializedHeader([out] UINT32* __headerBytesSize, [out] [retval] [size_is(, *__headerBytesSize)] BYTE** headerBytes);
                    [propget] HRESULT HeaderWithEmbeddedUpdates([out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyContentHeader)]
                [uuid(359C79F4-2180-498C-965B-E754D875EAB2)]
                interface IPlayReadyContentHeader2 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyContentHeader
                {
                    [propget] HRESULT KeyIds([out] UINT32* __contentKeyIdsSize, [out] [retval] [size_is(, *__contentKeyIdsSize)] GUID** contentKeyIds);
                    [propget] HRESULT KeyIdStrings([out] UINT32* __contentKeyIdStringsSize, [out] [retval] [size_is(, *__contentKeyIdStringsSize)] HSTRING** contentKeyIdStrings);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyContentHeader)]
                [uuid(CB97C8FF-B758-4776-BF01-217A8B510B2C)]
                interface IPlayReadyContentHeaderFactory : IInspectable
                {
                    HRESULT CreateInstanceFromWindowsMediaDrmHeader([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __headerBytesSize, [in] [size_is(__headerBytesSize)] BYTE* headerBytes, [in] Windows.Foundation.Uri* licenseAcquisitionUrl, [in] Windows.Foundation.Uri* licenseAcquisitionUserInterfaceUrl, [in] HSTRING customAttributes, [in] GUID domainServiceId, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** instance);
                    HRESULT CreateInstanceFromComponents([in] GUID contentKeyId, [in] HSTRING contentKeyIdString, [in] Windows.Media.Protection.PlayReady.PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, [in] Windows.Foundation.Uri* licenseAcquisitionUrl, [in] Windows.Foundation.Uri* licenseAcquisitionUserInterfaceUrl, [in] HSTRING customAttributes, [in] GUID domainServiceId, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** instance);
                    HRESULT CreateInstanceFromPlayReadyHeader([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __headerBytesSize, [in] [size_is(__headerBytesSize)] BYTE* headerBytes, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyContentHeader)]
                [uuid(D1239CF5-AE6D-4778-97FD-6E3A2EEADBEB)]
                interface IPlayReadyContentHeaderFactory2 : IInspectable
                {
                    HRESULT CreateInstanceFromComponents2([in] UINT32 dwFlags, [range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __contentKeyIdsSize, [in] [size_is(__contentKeyIdsSize)] GUID* contentKeyIds, [range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __contentKeyIdStringsSize, [in] [size_is(__contentKeyIdStringsSize)] HSTRING* contentKeyIdStrings, [in] Windows.Media.Protection.PlayReady.PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, [in] Windows.Foundation.Uri* licenseAcquisitionUrl, [in] Windows.Foundation.Uri* licenseAcquisitionUserInterfaceUrl, [in] HSTRING customAttributes, [in] GUID domainServiceId, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyContentResolver)]
                [uuid(FBFD2523-906D-4982-A6B8-6849565A7CE8)]
                interface IPlayReadyContentResolver : IInspectable
                {
                    HRESULT ServiceRequest([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* contentHeader, [out] [retval] Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest** serviceRequest);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(ADCC93AC-97E6-43EF-95E4-D7868F3B16A9)]
                interface IPlayReadyDomain : IInspectable
                {
                    [propget] HRESULT AccountId([out] [retval] GUID* value);
                    [propget] HRESULT ServiceId([out] [retval] GUID* value);
                    [propget] HRESULT Revision([out] [retval] UINT32* value);
                    [propget] HRESULT FriendlyName([out] [retval] HSTRING* value);
                    [propget] HRESULT DomainJoinUrl([out] [retval] Windows.Foundation.Uri** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyDomainIterable)]
                [uuid(4DF384EE-3121-4DF3-A5E8-D0C24C0500FC)]
                interface IPlayReadyDomainIterableFactory : IInspectable
                {
                    HRESULT CreateInstance([in] GUID domainAccountId, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyDomainIterable** domainIterable);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyDomainJoinServiceRequest)]
                [uuid(171B4A5A-405F-4739-B040-67B9F0C38758)]
                interface IPlayReadyDomainJoinServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT DomainAccountId([out] [retval] GUID* value);
                    [propput] HRESULT DomainAccountId([in] GUID value);
                    [propget] HRESULT DomainFriendlyName([out] [retval] HSTRING* value);
                    [propput] HRESULT DomainFriendlyName([in] HSTRING value);
                    [propget] HRESULT DomainServiceId([out] [retval] GUID* value);
                    [propput] HRESULT DomainServiceId([in] GUID value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyDomainLeaveServiceRequest)]
                [uuid(062D58BE-97AD-4917-AA03-46D4C252D464)]
                interface IPlayReadyDomainLeaveServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT DomainAccountId([out] [retval] GUID* value);
                    [propput] HRESULT DomainAccountId([in] GUID value);
                    [propget] HRESULT DomainServiceId([out] [retval] GUID* value);
                    [propput] HRESULT DomainServiceId([in] GUID value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyITADataGenerator)]
                [uuid(24446B8E-10B9-4530-B25B-901A8029A9B2)]
                interface IPlayReadyITADataGenerator : IInspectable
                {
                    HRESULT GenerateData([in] GUID guidCPSystemId, [in] UINT32 countOfStreams, [in] Windows.Foundation.Collections.IPropertySet* configuration, [in] Windows.Media.Protection.PlayReady.PlayReadyITADataFormat format, [out] UINT32* __dataBytesSize, [out] [retval] [size_is(, *__dataBytesSize)] BYTE** dataBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyIndividualizationServiceRequest)]
                [uuid(21F5A86B-008C-4611-AB2F-AAA6C69F0E24)]
                interface IPlayReadyIndividualizationServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(EE474C4E-FA3C-414D-A9F2-3FFC1EF832D4)]
                interface IPlayReadyLicense : IInspectable
                {
                    [propget] HRESULT FullyEvaluated([out] [retval] boolean* value);
                    [propget] HRESULT UsableForPlay([out] [retval] boolean* value);
                    [propget] HRESULT ExpirationDate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                    [propget] HRESULT ExpireAfterFirstPlay([out] [retval] UINT32* value);
                    [propget] HRESULT DomainAccountID([out] [retval] GUID* value);
                    [propget] HRESULT ChainDepth([out] [retval] UINT32* value);
                    HRESULT GetKIDAtChainDepth([in] UINT32 chainDepth, [out] [retval] GUID* kid);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicense)]
                [uuid(30F4E7A7-D8E3-48A0-BCDA-FF9F40530436)]
                interface IPlayReadyLicense2 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyLicense
                {
                    [propget] HRESULT SecureStopId([out] [retval] GUID* value);
                    [propget] HRESULT SecurityLevel([out] [retval] UINT32* value);
                    [propget] HRESULT InMemoryOnly([out] [retval] boolean* value);
                    [propget] HRESULT ExpiresInRealTime([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(5D85FF45-3E9F-4F48-93E1-9530C8D58C3E)]
                interface IPlayReadyLicenseAcquisitionServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT ContentHeader([out] [retval] Windows.Media.Protection.PlayReady.PlayReadyContentHeader** value);
                    [propput] HRESULT ContentHeader([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* value);
                    [propget] HRESULT DomainServiceId([out] [retval] GUID* value);
                    [propput] HRESULT DomainServiceId([in] GUID value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicenseAcquisitionServiceRequest)]
                [uuid(B7FA5EB5-FE0C-B225-BC60-5A9EDD32CEB5)]
                interface IPlayReadyLicenseAcquisitionServiceRequest2 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest,
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT SessionId([out] [retval] GUID* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicenseAcquisitionServiceRequest)]
                [uuid(394E5F4D-7F75-430D-B2E7-7F75F34B2D75)]
                interface IPlayReadyLicenseAcquisitionServiceRequest3 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest2,
                        Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest,
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    HRESULT CreateLicenseIterable([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* contentHeader, [in] boolean fullyEvaluated, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyLicenseIterable** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicenseIterable)]
                [uuid(D4179F08-0837-4978-8E68-BE4293C8D7A6)]
                interface IPlayReadyLicenseIterableFactory : IInspectable
                {
                    HRESULT CreateInstance([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* contentHeader, [in] boolean fullyEvaluated, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyLicenseIterable** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicenseManagement)]
                [uuid(AAEB2141-0957-4405-B892-8BF3EC5DADD9)]
                interface IPlayReadyLicenseManagement : IInspectable
                {
                    HRESULT DeleteLicenses([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* contentHeader, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(A1723A39-87FA-4FDD-ABBB-A9720E845259)]
                interface IPlayReadyLicenseSession : IInspectable
                {
                    HRESULT CreateLAServiceRequest([out] [retval] Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest** serviceRequest);
                    HRESULT ConfigureMediaProtectionManager([in] Windows.Media.Protection.MediaProtectionManager* mpm);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [uuid(4909BE3A-3AED-4656-8AD7-EE0FD7799510)]
                interface IPlayReadyLicenseSession2 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyLicenseSession
                {
                    HRESULT CreateLicenseIterable([in] Windows.Media.Protection.PlayReady.PlayReadyContentHeader* contentHeader, [in] boolean fullyEvaluated, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyLicenseIterable** licenseIterable);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyLicenseSession)]
                [uuid(62492699-6527-429E-98BE-48D798AC2739)]
                interface IPlayReadyLicenseSessionFactory : IInspectable
                {
                    HRESULT CreateInstance([in] Windows.Foundation.Collections.IPropertySet* configuration, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadyLicenseSession** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyMeteringReportServiceRequest)]
                [uuid(C12B231C-0ECD-4F11-A185-1E24A4A67FB7)]
                interface IPlayReadyMeteringReportServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT MeteringCertificate([out] UINT32* __meteringCertBytesSize, [out] [retval] [size_is(, *__meteringCertBytesSize)] BYTE** meteringCertBytes);
                    [propput] HRESULT MeteringCertificate([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __meteringCertBytesSize, [in] [size_is(__meteringCertBytesSize)] BYTE* meteringCertBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyRevocationServiceRequest)]
                [uuid(543D66AC-FAF0-4560-84A5-0E4ACEC939E4)]
                interface IPlayReadyRevocationServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadySecureStopIterable)]
                [uuid(5F1F0165-4214-4D9E-81EB-E89F9D294AEE)]
                interface IPlayReadySecureStopIterableFactory : IInspectable
                {
                    HRESULT CreateInstance([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __publisherCertBytesSize, [in] [size_is(__publisherCertBytesSize)] BYTE* publisherCertBytes, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadySecureStopIterable** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(B5501EE5-01BF-4401-9677-05630A6A4CC8)]
                interface IPlayReadySecureStopServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest,
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT SessionID([out] [retval] GUID* value);
                    [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* value);
                    [propget] HRESULT UpdateTime([out] [retval] Windows.Foundation.DateTime* value);
                    [propget] HRESULT Stopped([out] [retval] boolean* value);
                    [propget] HRESULT PublisherCertificate([out] UINT32* __publisherCertBytesSize, [out] [retval] [size_is(, *__publisherCertBytesSize)] BYTE** publisherCertBytes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadySecureStopServiceRequest)]
                [uuid(0E448AC9-E67E-494E-9F49-6285438C76CF)]
                interface IPlayReadySecureStopServiceRequestFactory : IInspectable
                {
                    HRESULT CreateInstance([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __publisherCertBytesSize, [in] [size_is(__publisherCertBytesSize)] BYTE* publisherCertBytes, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadySecureStopServiceRequest** instance);
                    HRESULT CreateInstanceFromSessionID([in] GUID sessionID, [range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __publisherCertBytesSize, [in] [size_is(__publisherCertBytesSize)] BYTE* publisherCertBytes, [out] [retval] Windows.Media.Protection.PlayReady.PlayReadySecureStopServiceRequest** instance);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(8BAD2836-A703-45A6-A180-76F3565AA725)]
                interface IPlayReadyServiceRequest : IInspectable
                    requires
                        Windows.Media.Protection.IMediaProtectionServiceRequest
                {
                    [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                    [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
                    [propget] HRESULT ResponseCustomData([out] [retval] HSTRING* value);
                    [propget] HRESULT ChallengeCustomData([out] [retval] HSTRING* value);
                    [propput] HRESULT ChallengeCustomData([in] HSTRING value);
                    HRESULT BeginServiceRequest([out] [retval] Windows.Foundation.IAsyncAction** action);
                    HRESULT NextServiceRequest([out] [retval] Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest** serviceRequest);
                    HRESULT GenerateManualEnablingChallenge([out] [retval] Windows.Media.Protection.PlayReady.PlayReadySoapMessage** challengeMessage);
                    HRESULT ProcessManualEnablingResponse([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __responseBytesSize, [in] [size_is(__responseBytesSize)] BYTE* responseBytes, [out] [retval] HRESULT* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadySoapMessage)]
                [uuid(B659FCB5-CE41-41BA-8A0D-61DF5FFFA139)]
                interface IPlayReadySoapMessage : IInspectable
                {
                    HRESULT GetMessageBody([out] UINT32* __messageBodyBytesSize, [out] [retval] [size_is(, *__messageBodyBytesSize)] BYTE** messageBodyBytes);
                    [propget] HRESULT MessageHeaders([out] [retval] Windows.Foundation.Collections.IPropertySet** value);
                    [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** messageUri);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyStatics)]
                [uuid(5E69C00D-247C-469A-8F31-5C1A1571D9C6)]
                interface IPlayReadyStatics : IInspectable
                {
                    [propget] HRESULT DomainJoinServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT DomainLeaveServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT IndividualizationServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT LicenseAcquirerServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT MeteringReportServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT RevocationServiceRequestType([out] [retval] GUID* value);
                    [propget] HRESULT MediaProtectionSystemId([out] [retval] GUID* value);
                    [propget] HRESULT PlayReadySecurityVersion([out] [retval] UINT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyStatics)]
                [uuid(1F8D6A92-5F9A-423E-9466-B33969AF7A3D)]
                interface IPlayReadyStatics2 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics
                {
                    [propget] HRESULT PlayReadyCertificateSecurityLevel([out] [retval] UINT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyStatics)]
                [uuid(3FA33F71-2DD3-4BED-AE49-F7148E63E710)]
                interface IPlayReadyStatics3 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics2,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics
                {
                    [propget] HRESULT SecureStopServiceRequestType([out] [retval] GUID* value);
                    HRESULT CheckSupportedHardware([in] Windows.Media.Protection.PlayReady.PlayReadyHardwareDRMFeatures hwdrmFeature, [out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyStatics)]
                [uuid(50A91300-D824-4231-9D5E-78EF8844C7D7)]
                interface IPlayReadyStatics4 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics3,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics2,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics
                {
                    [propget] HRESULT InputTrustAuthorityToCreate([out] [retval] HSTRING* value);
                    [propget] HRESULT ProtectionSystemId([out] [retval] GUID* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Media.Protection.PlayReady.PlayReadyStatics)]
                [uuid(230A7075-DFA0-4F8E-A779-CEFEA9C6824B)]
                interface IPlayReadyStatics5 : IInspectable
                    requires
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics4,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics3,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics2,
                        Windows.Media.Protection.PlayReady.IPlayReadyStatics
                {
                    [propget] HRESULT HardwareDRMDisabledAtTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                    [propget] HRESULT HardwareDRMDisabledUntilTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                    HRESULT ResetHardwareDRMDisabled();
                }

                [activatable(Windows.Media.Protection.PlayReady.INDClientFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDClient is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDClient
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDClient;
                }

                [activatable(Windows.Media.Protection.PlayReady.INDCustomDataFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDCustomData is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDCustomData
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDCustomData;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDDownloadEngineNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDDownloadEngineNotifier
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDDownloadEngineNotifier;
                }

                [activatable(Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptorFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDLicenseFetchDescriptor is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDLicenseFetchDescriptor
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDLicenseFetchDescriptor;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDStorageFileHelper is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDStorageFileHelper
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDStorageFileHelper;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDStreamParserNotifier is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDStreamParserNotifier
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDStreamParserNotifier;
                }

                [activatable(Windows.Media.Protection.PlayReady.INDTCPMessengerFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("NDTCPMessenger is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 3.0)]
                runtimeclass NDTCPMessenger
                {
                    [default] interface Windows.Media.Protection.PlayReady.INDMessenger;
                }

                [activatable(Windows.Media.Protection.PlayReady.IPlayReadyContentHeaderFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [activatable(Windows.Media.Protection.PlayReady.IPlayReadyContentHeaderFactory2, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyContentHeader
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyContentHeader;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Protection.PlayReady.IPlayReadyContentHeader2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyContentResolver, Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyContentResolver
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyDomain
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyDomain;
                }

                [activatable(Windows.Media.Protection.PlayReady.IPlayReadyDomainIterableFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyDomainIterable
                {
                    [default] interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadyDomain*>;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyDomainIterator
                {
                    [default] interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadyDomain*>;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyDomainJoinServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyDomainJoinServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyDomainLeaveServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyDomainLeaveServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyITADataGenerator
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyITADataGenerator;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyIndividualizationServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyIndividualizationServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicense
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyLicense;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Protection.PlayReady.IPlayReadyLicense2;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicenseAcquisitionServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                    [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest2;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Protection.PlayReady.IPlayReadyLicenseAcquisitionServiceRequest3;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [activatable(Windows.Media.Protection.PlayReady.IPlayReadyLicenseIterableFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicenseIterable
                {
                    [default] interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadyLicense*>;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicenseIterator
                {
                    [default] interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadyLicense*>;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyLicenseManagement, Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicenseManagement
                {
                }

                [activatable(Windows.Media.Protection.PlayReady.IPlayReadyLicenseSessionFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyLicenseSession
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyLicenseSession;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Protection.PlayReady.IPlayReadyLicenseSession2;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyMeteringReportServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyMeteringReportServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadyRevocationServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadyRevocationServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [activatable(Windows.Media.Protection.PlayReady.IPlayReadySecureStopIterableFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadySecureStopIterable
                {
                    [default] interface Windows.Foundation.Collections.IIterable<Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequest*>;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadySecureStopIterator
                {
                    [default] interface Windows.Foundation.Collections.IIterator<Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequest*>;
                }

                [activatable(Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequestFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadySecureStopServiceRequest
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadySecureStopServiceRequest;
                    interface Windows.Media.Protection.PlayReady.IPlayReadyServiceRequest;
                    interface Windows.Media.Protection.IMediaProtectionServiceRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass PlayReadySoapMessage
                {
                    [default] interface Windows.Media.Protection.PlayReady.IPlayReadySoapMessage;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyStatics3, Windows.Foundation.UniversalApiContract, 1.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyStatics4, Windows.Foundation.UniversalApiContract, 3.0)]
                [static(Windows.Media.Protection.PlayReady.IPlayReadyStatics5, Windows.Foundation.UniversalApiContract, 7.0)]
                runtimeclass PlayReadyStatics
                {
                }
            }
        }
    }
}
