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
| 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.
The current content header property.
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.
| 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.
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.
- 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.
| 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.
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.
The new service request interface.
Remarks
This method should only be called after:
- A completion event from the IAsyncAction object returned from BeginServiceRequest has indicated the current service request is complete (automatic enabling).
- A call to ProcessManualEnablingResponse (manual enabling).
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.
- responseBytes
- Byte[] Byte[] Byte[] Byte[]
The response result to be processed.
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.