PlayReadyStatics PlayReadyStatics PlayReadyStatics PlayReadyStatics Class

Definition

Provides support for returning static or constant data.

public : static class PlayReadyStaticspublic static class PlayReadyStaticsPublic Static Class PlayReadyStatics// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Properties

DomainJoinServiceRequestType DomainJoinServiceRequestType DomainJoinServiceRequestType DomainJoinServiceRequestType

Gets the type of a PlayReady domain join service request.

public : static PlatForm::Guid DomainJoinServiceRequestType { get; }public static Guid DomainJoinServiceRequestType { get; }Public Static ReadOnly Property DomainJoinServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady domain join service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

DomainLeaveServiceRequestType DomainLeaveServiceRequestType DomainLeaveServiceRequestType DomainLeaveServiceRequestType

Gets the type of a PlayReady domain leave service request.

public : static PlatForm::Guid DomainLeaveServiceRequestType { get; }public static Guid DomainLeaveServiceRequestType { get; }Public Static ReadOnly Property DomainLeaveServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady domain leave service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

IndividualizationServiceRequestType IndividualizationServiceRequestType IndividualizationServiceRequestType IndividualizationServiceRequestType

Gets the type of a PlayReady individualization service request.

public : static PlatForm::Guid IndividualizationServiceRequestType { get; }public static Guid IndividualizationServiceRequestType { get; }Public Static ReadOnly Property IndividualizationServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady individualization service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

InputTrustAuthorityToCreate InputTrustAuthorityToCreate InputTrustAuthorityToCreate InputTrustAuthorityToCreate

Gets the PlayReady Trusted Input activation string.

public : static PlatForm::String InputTrustAuthorityToCreate { get; }public static string InputTrustAuthorityToCreate { get; }Public Static ReadOnly Property InputTrustAuthorityToCreate As string// You can use this property in JavaScript.
Value
PlatForm::String string string string

The PlayReady Trusted Input activation string. This string is used by the Media Protection Manager to tell the media source which Input Trust Authority (ITA) to create.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)

Remarks

Previous releases of the PlayReady API required callers to hard-code a well-known string and GUID in their code. These APIs provide those values to the caller so they can request them rather than hard-coding them.

In the MediaProtectionManager.Properties property (a PropertySet object), the "Windows.Media.Protection.MediaProtectionSystemIdMapping" string maps to another PropertySet. This in turn will typically have the string "Windows.Media.Protection.PlayReady.PlayReadyStatics.MediaProtectionSystemId" map to Windows.Media.Protection.PlayReady.PlayReadyStatics.InputTrustAuthorityToCreate.

MediaProtectionManager protectionManager = new MediaProtectionManager();
protectionManager.Properties.Add(
    "Windows.Media.Protection.MediaProtectionContainerGuid", 
    PlayReadyStatics.ProtectionSystemId.ToString());
Windows.Foundation.Collections.PropertySet cpSystems = 
    new Windows.Foundation.Collections.PropertySet();
cpSystems.Add(
    PlayReadyStatics.MediaProtectionSystemId.ToString(), 
    PlayReadyStatics.InputTrustAuthorityToCreate);

LicenseAcquirerServiceRequestType LicenseAcquirerServiceRequestType LicenseAcquirerServiceRequestType LicenseAcquirerServiceRequestType

Gets the type of a PlayReady license acquisition service request.

public : static PlatForm::Guid LicenseAcquirerServiceRequestType { get; }public static Guid LicenseAcquirerServiceRequestType { get; }Public Static ReadOnly Property LicenseAcquirerServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady license acquisition service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

MediaProtectionSystemId MediaProtectionSystemId MediaProtectionSystemId MediaProtectionSystemId

Gets the PlayReady media protection system identifier.

public : static PlatForm::Guid MediaProtectionSystemId { get; }public static Guid MediaProtectionSystemId { get; }Public Static ReadOnly Property MediaProtectionSystemId As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The PlayReady media protection system identifier. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::ProtectionSystem.

MeteringReportServiceRequestType MeteringReportServiceRequestType MeteringReportServiceRequestType MeteringReportServiceRequestType

Gets the type of a PlayReady metering service request.

public : static PlatForm::Guid MeteringReportServiceRequestType { get; }public static Guid MeteringReportServiceRequestType { get; }Public Static ReadOnly Property MeteringReportServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady metering service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

PlayReadyCertificateSecurityLevel PlayReadyCertificateSecurityLevel PlayReadyCertificateSecurityLevel PlayReadyCertificateSecurityLevel

Gets the current certificate security level.

public : static unsigned int PlayReadyCertificateSecurityLevel { get; }public static uint PlayReadyCertificateSecurityLevel { get; }Public Static ReadOnly Property PlayReadyCertificateSecurityLevel As uint// You can use this property in JavaScript.
Value
unsigned int uint uint uint

The current certificate security level. If not individualized or provisioned, this property returns zero (0).

PlayReadySecurityVersion PlayReadySecurityVersion PlayReadySecurityVersion PlayReadySecurityVersion

Gets the PlayReady runtime security version.

public : static unsigned int PlayReadySecurityVersion { get; }public static uint PlayReadySecurityVersion { get; }Public Static ReadOnly Property PlayReadySecurityVersion As uint// You can use this property in JavaScript.
Value
unsigned int uint uint uint

The PlayReady runtime security version.

ProtectionSystemId ProtectionSystemId ProtectionSystemId ProtectionSystemId

Gets the PlayReady content protection system ID inside a PSSH box.

public : static PlatForm::Guid ProtectionSystemId { get; }public static Guid ProtectionSystemId { get; }Public Static ReadOnly Property ProtectionSystemId As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

Specifies the PlayReady content protection system ID inside a PSSH box. This parameter is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)

Remarks

Previous releases of the PlayReady API required callers to hard-code a well-known string and GUID in their code. These APIs provide those values to the caller so they can request them rather than hard-coding them.

In the MediaProtectionManager.Properties property (a PropertySet object), the "Windows.Media.Protection.MediaProtectionContainerGuid" string maps to a GUID, which will typically be the following string: csharp "{" + Windows.Media.Protection.PlayReady.PlayReadyStatics.ProtectionSystemId.ToString().ToUpper() + "}"

RevocationServiceRequestType RevocationServiceRequestType RevocationServiceRequestType RevocationServiceRequestType

Gets the type of a PlayReady revocation service request.

public : static PlatForm::Guid RevocationServiceRequestType { get; }public static Guid RevocationServiceRequestType { get; }Public Static ReadOnly Property RevocationServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady revocation service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

SecureStopServiceRequestType SecureStopServiceRequestType SecureStopServiceRequestType SecureStopServiceRequestType

Gets the type of a PlayReady secure stop service request.

public : static PlatForm::Guid SecureStopServiceRequestType { get; }public static Guid SecureStopServiceRequestType { get; }Public Static ReadOnly Property SecureStopServiceRequestType As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The type of a PlayReady secure stop service request. This property value is sensitive to the underlying platform's endianness. Carefully test your app on all platforms you intend to support to ensure that correct endianness is used on each platform.

Remarks

This type can be compared to IMediaProtectionServiceRequest::type.

Methods

CheckSupportedHardware(PlayReadyHardwareDRMFeatures) CheckSupportedHardware(PlayReadyHardwareDRMFeatures) CheckSupportedHardware(PlayReadyHardwareDRMFeatures) CheckSupportedHardware(PlayReadyHardwareDRMFeatures)

Queries whether the specified hardware digital rights management (DRM) feature is supported on the system.

public : static PlatForm::Boolean CheckSupportedHardware(PlayReadyHardwareDRMFeatures hwdrmFeature)public static bool CheckSupportedHardware(PlayReadyHardwareDRMFeatures hwdrmFeature)Public Static Function CheckSupportedHardware(hwdrmFeature As PlayReadyHardwareDRMFeatures) As bool// You can use this method in JavaScript.
Parameters
Returns
PlatForm::Boolean bool bool bool

true if the hardware DRM feature is supported, otherwise false.

Remarks

Starting with Windows 10, version 1709, you can detect support for AES128CBC hardware encryption on a device by calling CheckSupportedHardware and specifying the enumeration value PlayReadyHardwareDRMFeatures.Aes128Cbc. On previous versions of Windows 10, specifying this value will cause an exception to be thrown. For this reason, you should check for the presence of the enumeration value by calling ApiInformationIsApiContractPresent and specifying major contract version 5 before calling CheckSupportedHardware.

bool supportsAes128Cbc = ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5);

if (supportsAes128Cbc)
{
    supportsAes128Cbc = PlayReadyStatics.CheckSupportedHardware(PlayReadyHardwareDRMFeatures.Aes128Cbc);
}