PlayReadyLicenseAcquisitionServiceRequest PlayReadyLicenseAcquisitionServiceRequest PlayReadyLicenseAcquisitionServiceRequest PlayReadyLicenseAcquisitionServiceRequest Class

Definition

Provides the service methods for obtaining PlayReady licenses.

public : sealed class PlayReadyLicenseAcquisitionServiceRequest : IMediaProtectionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest2, IPlayReadyLicenseAcquisitionServiceRequest3, IPlayReadyServiceRequestpublic sealed class PlayReadyLicenseAcquisitionServiceRequest : IMediaProtectionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest2, IPlayReadyLicenseAcquisitionServiceRequest3, IPlayReadyServiceRequestPublic NotInheritable Class PlayReadyLicenseAcquisitionServiceRequest Implements IMediaProtectionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest, IPlayReadyLicenseAcquisitionServiceRequest2, IPlayReadyLicenseAcquisitionServiceRequest3, IPlayReadyServiceRequest// 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)

Remarks

This class can be created proactively, returned from a previous service request operation, or delivered to the app through the MediaProtectionManager.ServiceRequested event.

Constructors

PlayReadyLicenseAcquisitionServiceRequest() PlayReadyLicenseAcquisitionServiceRequest() PlayReadyLicenseAcquisitionServiceRequest() PlayReadyLicenseAcquisitionServiceRequest()

Initializes a new instance of the PlayReadyLicenseAcquisitionServiceRequest class.

public : PlayReadyLicenseAcquisitionServiceRequest()public PlayReadyLicenseAcquisitionServiceRequest()Public Sub New()// You can use this method in JavaScript.

Properties

ChallengeCustomData ChallengeCustomData ChallengeCustomData ChallengeCustomData

Gets or sets the custom data of the request challenge.

public : PlatForm::String ChallengeCustomData { get; set; }public string ChallengeCustomData { get; set; }Public ReadWrite Property ChallengeCustomData As string// You can use this property in JavaScript.
Value
PlatForm::String string string string

The custom data.

Remarks

Use this property to get the custom data to be placed in the request challenge or to set the challenge custom data to send up as part of the request.

Setting this property is optional.

This property cannot be set after BeginServiceRequest or GenerateManualEnablingChallenge have been called.

ContentHeader ContentHeader ContentHeader ContentHeader

Gets or sets the current content header property.

public : PlayReadyContentHeader ContentHeader { get; set; }public PlayReadyContentHeader ContentHeader { get; set; }Public ReadWrite Property ContentHeader As PlayReadyContentHeader// You can use this property in JavaScript.

Remarks

This property cannot be set after BeginServiceRequest or GenerateManualEnablingChallenge have been called.

DomainServiceId DomainServiceId DomainServiceId DomainServiceId

Gets or sets the current domain service identifier property that overrides a service identifier in the content header.

public : PlatForm::Guid DomainServiceId { get; set; }public Guid DomainServiceId { get; set; }Public ReadWrite Property DomainServiceId As Guid// You can use this property in JavaScript.
Value
PlatForm::Guid Guid Guid Guid

The current domain service identifier property. 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 property cannot be set after BeginServiceRequest or GenerateManualEnablingChallenge have been called.

ProtectionSystem ProtectionSystem ProtectionSystem ProtectionSystem

Gets the vendor content protection system identifier.

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

The vendor content 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 property allows the app to identify the content protection system being used and therefore how to interpret the protection task.

ResponseCustomData ResponseCustomData ResponseCustomData ResponseCustomData

Gets the custom data that was returned in the response from the service.

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

The custom data.

Remarks

This property can be called only after the service request has been completed.

SessionId SessionId SessionId SessionId

Gets a unique identifier for the PlayReady license acquisition operation.

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

A unique identifier for the PlayReady license acquisition operation.

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

Type Type Type Type

Gets the GUID for the type of operation that the PlayReady license acquisition service request performs.

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

The GUID for the type of operation. 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

The possible values of Type depend on the content protection system used for the content. This can be determined by context or by inspecting the ProtectionSystem property.

Uri Uri Uri Uri

Gets or sets the URI used to perform a service request action.

public : Uri Uri { get; set; }public Uri Uri { get; set; }Public ReadWrite Property Uri As Uri// You can use this property in JavaScript.
Value
Uri Uri Uri Uri

The URI to be used.

Remarks

The URI must be set before calling BeginServiceRequest either through this property or through a different property (such as a content header) that contains a URI.

This property cannot be set after BeginServiceRequest or GenerateManualEnablingChallenge have been called.

Methods

BeginServiceRequest() BeginServiceRequest() BeginServiceRequest() BeginServiceRequest()

Begins an asynchronous service request operation.

public : IAsyncAction BeginServiceRequest()public IAsyncAction BeginServiceRequest()Public Function BeginServiceRequest() As IAsyncAction// You can use this method in JavaScript.
Returns

The asynchronous service action.

Remarks

Completion and results can be retrieved using the IAsyncAction interface that is returned. Calling this method places the class in a read-only state.

CreateLicenseIterable(PlayReadyContentHeader, Boolean) CreateLicenseIterable(PlayReadyContentHeader, Boolean) CreateLicenseIterable(PlayReadyContentHeader, Boolean) CreateLicenseIterable(PlayReadyContentHeader, Boolean)

Creates a PlayReadyLicense class iterator that supports in-memory-only PlayReady licenses in addition to persisted licenses.

public : PlayReadyLicenseIterable CreateLicenseIterable(PlayReadyContentHeader contentHeader, bool fullyEvaluated)public PlayReadyLicenseIterable CreateLicenseIterable(PlayReadyContentHeader contentHeader, Boolean fullyEvaluated)Public Function CreateLicenseIterable(contentHeader As PlayReadyContentHeader, fullyEvaluated As Boolean) As PlayReadyLicenseIterable// You can use this method in JavaScript.
Parameters
contentHeader
PlayReadyContentHeader PlayReadyContentHeader PlayReadyContentHeader PlayReadyContentHeader

The content header used to locate associated licenses.

fullyEvaluated
bool Boolean Boolean Boolean

Indicates whether evaluated license chains should be enumerated or if all licenses (including those that are unusable) should be enumerated. Set this parameter to true if evaluated license chains should be enumerated. Set this parameter to false if all licenses should be enumerated.

Returns
Additional features and requirements
Device family
Windows 10 Creators Update (introduced v10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v4)

GenerateManualEnablingChallenge() GenerateManualEnablingChallenge() GenerateManualEnablingChallenge() GenerateManualEnablingChallenge()

Begins the process of manually enabling.

public : PlayReadySoapMessage GenerateManualEnablingChallenge()public PlayReadySoapMessage GenerateManualEnablingChallenge()Public Function GenerateManualEnablingChallenge() As PlayReadySoapMessage// You can use this method in JavaScript.
Returns

The SOAP message to be used in a manual license acquisition challenge request.

Remarks

Provides the caller the raw HTTP challenge and headers that they must send up to the server. When the response is received, it should be processed by calling the ProcessManualEnablingResponse method.

Calling this method places the class in a read-only state even if the method does not succeed.

NextServiceRequest() NextServiceRequest() NextServiceRequest() NextServiceRequest()

Returns a new service request interface.

public : IPlayReadyServiceRequest NextServiceRequest()public IPlayReadyServiceRequest NextServiceRequest()Public Function NextServiceRequest() As IPlayReadyServiceRequest// You can use this method in JavaScript.
Returns

Remarks

This method should only be called after:

Both of the above situations leave the current service request in a read-only/complete state, although there could be additional service requests to perform. An app should call this method to determine if additional service requests are required.

ProcessManualEnablingResponse(Byte[]) ProcessManualEnablingResponse(Byte[]) ProcessManualEnablingResponse(Byte[]) ProcessManualEnablingResponse(Byte[])

Process the raw binary result of a manual enabling challenge.

public : HResult ProcessManualEnablingResponse(Byte[] responseBytes)public Exception ProcessManualEnablingResponse(Byte[] responseBytes)Public Function ProcessManualEnablingResponse(responseBytes As Byte[]) As Exception// You can use this method in JavaScript.
Parameters
responseBytes
Byte[] Byte[] Byte[] Byte[]

The response result to be processed.

Returns
HResult Exception Exception Exception

If the methods succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

The return value of this method is a failure only if the input data is invalid in some way. If the result is processed successfully but has a failure state, this method will return that failure in the result parameter.

The most common values to be returned in the result parameter are:

  • S_OK—The enabling response was processed and there are no more service requests necessary. A following call to NextServiceRequest will return a NULL pointer.
  • MSPR_E_CONTENT_ENABLING_ACTION_REQUIRED—A new service request was generated when processing the current service request. A call to NextServiceRequest should be made.
  • DRM_E_SERVER_SERVICE_SPECIFIC—A PlayReady license or domain server failed.
  • MSPR_E_SDK_UPDATE_REQUIRED—The individualization service requires a client SDK update before a new individualization operation can complete. Refreshing the PlayReady SDK is required.

See Also