PlayReadyMeteringReportServiceRequest PlayReadyMeteringReportServiceRequest PlayReadyMeteringReportServiceRequest PlayReadyMeteringReportServiceRequest Class

Definition

Provides the service methods for content metering operations.

public : sealed class PlayReadyMeteringReportServiceRequest : IMediaProtectionServiceRequest, IPlayReadyMeteringReportServiceRequest, IPlayReadyServiceRequestpublic sealed class PlayReadyMeteringReportServiceRequest : IMediaProtectionServiceRequest, IPlayReadyMeteringReportServiceRequest, IPlayReadyServiceRequestPublic NotInheritable Class PlayReadyMeteringReportServiceRequest Implements IMediaProtectionServiceRequest, IPlayReadyMeteringReportServiceRequest, 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 only be created proactively.

Constructors

PlayReadyMeteringReportServiceRequest() PlayReadyMeteringReportServiceRequest() PlayReadyMeteringReportServiceRequest() PlayReadyMeteringReportServiceRequest()

Initializes a new instance of the PlayReadyMeteringReportServiceRequest class.

public : PlayReadyMeteringReportServiceRequest()public PlayReadyMeteringReportServiceRequest()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.

MeteringCertificate MeteringCertificate MeteringCertificate MeteringCertificate

Gets or sets the current metering certificate property.

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

The current metering certificate property.

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.

Type Type Type Type

Gets the GUID for the type of operation that the PlayReady metering report 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 through this property before calling BeginServiceRequest.

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.

If no data is available for metering, this method will return MSPR_E_NO_METERING_DATA_AVAILABLE.

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 a completion event from the IAsyncAction object returned from BeginServiceRequest has indicated the current service request is complete (automatic enabling). This situation leaves 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.

If no data is available for metering, this method will return MSPR_E_NO_METERING_DATA_AVAILABLE.

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