Microsoft.Media.Drm Namespace

Classes

AdvancedLicense

Represents a PlayReady license with advanced features. This class is abstract.

AESContentKey

Represents the key used to encrypt PlayReady content with an AES algorithm.

BlackoutInformation

Represents the blackout information of the stream.

BurnToAudioCDEnabler

This class is obsolete and should not be used.

CannotChangeServerAuthorizationCertificate

This class is internal and should not be used.

Certificate

Represents a PlayReady certificate chain.

CertificateInfo

Represents manufacturer information from a client certificate chain.

ClientInfo

Represents basic information about the client making the request.

ClientKeySet

Represents all the keys to which a specific client has access. This class is used to build scalable root licenses. ContentEncryptionKey must be set to to an instance of this class to generate a scalable root license.

ClientLimitReachedException

Exception thrown to the client when it has reached the limit on the number of clients that can be joined to the domain. If possible a Url pointing to a page explaining the services policies and actionable steps the user can take to remedy the situation should be returned to the user.

ClientNotADomainMemberException

Represents the exception thrown back to the client in the rare scenario where a client presents a domain certificate but is no longer a member of the domain. This situation can arise if the client was removed from the domain in an offline fashion and the client still has a domain certificate. The exception tells the client to either leave the domain or re-join the domain.

ClientOSInformation

Represents additional client OS information which a PlayReady client implementation may optionally provide to the license server.

ClientRedirectException

Represents the exception thrown to redirect the client to a different RMSDK server. The client should repeat its challenge to the new server.

CocktailContentKey

Represents the key used to encrypt the PlayReady content with the cocktail algorithm. The cocktail algorithm is the symmetric key algorithm used to encrypt content in the legacy Windows Media DRM ecosystem.

ContentAuxKeySet

Represents all the keys used to encrypt the content key in a leaf license.

ContentKey

Represnts the key used to encrypt the content. This class is abstract.

CopyEnabler

This class is obsolete and should not be used.

CopyRight

This class is obsolete and should not be used.

CopyToDeviceEnabler

This class is obsolete and should not be used.

DeleteLicenseDataResponse

Represents data returned from ProcessDeleteLicenseDataAsync(IDeleteLicenseDataChallenge).

DeviceCertificate

Represents a PlayReady Device certificate.

DeviceCertRevokedException

This class is internal and should not be used.

DomainCertificate

Represents a PlayReady Domain certificate.

DomainCertificateBuilder

Builds a new domain certificate.

DomainIdentifier

Represents a unique domain identifier.

DomainRequiredException

Represents the exception thrown when a client did not send a domain certificate or the expected domain certificate when the server wants to bind the license to a domain.

EmbeddedLicenseStore

Represents an Embedded License Store.

EncryptionKeyInformation

Represents information about a content key in a given PlayReadyHeader.

ExplicitOutputProtection

Represents an extended technology on which the client is allowed to play the content.

ExplicitOutputRestrictionsConstants

Defines a set of explicit output restrictions constants. Refer to the PlayReady Compliance Rules document that accompanies a PlayReady licensing agreement for more information.

ExportEnabler

Representing an export enabler. This class is abstract.

ExtendedRestriction

Represents additional policies that can be added to licenses without needing to upgrade the PlayReady Server SDK.

ExtendedRight

Represents additional policies that can be added to licenses without having to upgrade the PlayReady Server SDK.

IndivRequiredException

Represents the exception thrown when a PC or Silverlight client needs to individualize its DRM runtime.

JoinDomainResponse

Represents the data returned from HandleJoinDomainAsync(IJoinDomainChallenge).

KeyExchangeLicense

Represents a PlayReady license used for key exchange.

KeyExchangeRight

A right allowing the client to use the license for key exchange.

LeaveDomainResponse

Represents the data returned from HandleLeaveDomainAsync(ILeaveDomainChallenge).

License

Represents a PlayReady license. This class is abstract.

LicenseAcknowledgementResponse

Represents the data returned from HandleLicenseAcknowledgementAsync(ILicenseAcknowledgementChallenge).

LicenseResponse

Represents the response returned from HandleLicenseAcquisitionAsync(ILicenseChallenge).

LicenseServerTimeCertificate

Represents a License Server Time certificate and corresponding private key. See LicenseServerTimeCertificate for more information.

LicenseSourceId

Represents a PlayReady Source identifier. Refer to the PlayReady Compliance Rules document that accompanies a PlayReady licensing agreement for more information.

LicenseStorageResult

Represents the result reported by the client regarding its attempt at storing a single license.

MasterKeySet

Represents the Live TV service provider's service and region information.

MediaLicense

Represents PlayReady licenses meant to be consumed by a PlayReady client for handling multimedia content.

MeteringAction

Represents a metering action that contains an action name and a corresponding action count.

MeteringCertificateResponse

Represents the data returned from GetMeteringCertificateAsync(IMeteringCertificateChallenge).

MeteringRecord

Represents a metering record that contains a key identifier and a collection of metering actions of the key identifier.

PackagingChallenge

Represents a packaging data acquisition challenge received from the client.

PackagingChallengeProtectionSystems

This class is internal and should not be used.

PackagingChallengeStreamProtectionRequests

This class is internal and should not be used.

PackagingResponse

Represents the packaging response the service will return to the client.

PackagingResponseStreamProtectionResponses

This class is internal and should not be used.

PCCertificate

Represents a PlayReady PC certificate.

PlayEnabler

Represents a play enabler, a technology whereby content is allowed to flow through a PlayReady client.

PlayReadyHeader

Represents a PlayReady header. A PlayReady Header is typically inserted into a PlayReady media file during the process of encryption.

PlayReadyHeaderAttribute

Represents an attribute in a PlayReadyHeader.

PlayReadyObject

Represents a PlayReady object.

PlayReadyRecord

Represents a record within a PlayReadyObject. This class is abstract.

PlayReadyServerAuthorization

Provides control over authorization of server operation and features.

PlayRight

When added to a AdvancedLicense via the AddRight(Right) method, this right allows the client to play protected content.

ProcessMeteringDataResponse

Represents the data returned from ProcessMeteringDataAsync(IProcessMeteringDataChallenge).

ProtectionSystemConstants

Represents the content protection system identifier constants.

ProtectionSystemsMismatchException

This class is internal and should not be used.

ProtectionSystemSpecificHeaderBoxContents

Represents the content of a Protection Specific Header box in PIFF content. The content includes the protection system identifier and a serialized PlayReady Object.

ProtocolChallengeContext

Stores context information associated with a protocol challenge. This is an abstract class.

ProtocolResponse

Stores a protocol response message that uses an opaque response tag (that is, all challenges except for in-stream delivery of licenses through HandlePackagingDataAcquisitionAsync(PackagingChallenge)).

ProtocolResponseContext

Stores context information associated with a protocol response. This is an abstract class.

RegionRestrictedSet

Represents the regions in a specific region set that need to be blacked out as well as the regions that are not blacked out.

RegionSet

Represents a region set supported by a service provider.

RenewDomainException

Represents the exception thrown when a client needs to renew their domain membership due to the client not having the latest domain revision or presenting an expired certificate.

Right

Represents a right in PlayReady license. This is an abstract class.

RMPackagingException

Represents the exception thrown when an error is encountered while packaging content using the PlayReady Server SDK.

RMPackagingPropertyNotSetException

Represents the exception thrown when a required property is not set on a class associated with packaging content using the PlayReady Server SDK.

RMPlayReadyObjectInvalidRecordException

Represents the exception thrown when a PlayReadyObject contains an invalid record.

RMServerException

Represents a PlayReady Server SDK exception that could be returned to a client. It can be used from handler code to return an "internal error" back to a client. A more specific exception should be used if available.

RootLicenseContentKey

Represents the key used to encrypt the key in the leaf license.

SecureStop2AESKey

Represents the key used to request that a license use the SecureStop2 feature if possible and to verify that a Secure Stop Challenge is properly signed using this key inside the TEE.

SecureStopDataResponse

Represents the data returned from ProcessSecureStopDataAsync(ISecureStopDataChallenge).

SecureStopRecord

Represents a secure stop record.

ServerCertificate

Represents a License Server deployment certificate.

ServerFeatureNotSupportedException

Represents the exception thrown when a feature is not supported by the server edition.

ServiceSpecificException

Represents the exception thrown to the client for reasons specific to the service. This is a generic error that can be used by the service to report issues back to the client.

SilverlightCertificate

Represents a Silverlight certificate. For Silverlight 4.0 and beyond, use PCCertificate instead.

SimpleNonPersistentLicense

Obsolete. Represents a simple non-persistent license. Simple non-persistent licenses automatically have a PlayRight added to them and are bound to the client certificate. No other rights may be added to a simple non-persistent license and the BindingKey may not be changed.

StreamInformation

Represents information about a specific period of time in a stream for which the PlayReady Server SDK is asked to issue licenses.

StreamProtectionInformation

Represents the encryption key information used to encrypt the content from a specific period of time in a stream.

StreamProtectionInformationProtectionSystemSpecificHeaderBoxes

This class is internal and should not be used.

TransportSecurityRequirementsNotMetException

This class is internal and should not be used.

UnknownAccountException

Represents the exception thrown when an unknown account identifier was sent by the client during a domain join or leave operation.

UnknownMeteringIdException

Represents the exception thrown when an unknown metering identifier was sent by the client during a metering operation.

UnknownPublisherIdException

Represents the exception thrown when an unknown publisher identifier was sent by the client during a secure stop operation.

WatermarkVendor

Represents a single watermarking vendor that the client supports. Refer to the PlayReady Compliance Rules document that accompanies a PlayReady licensing agreement for more information.

Interfaces

IBindingKey

Provides an interface for keys used to bind a license to a client, domain, or a root license by encrypting the content key in the license with the binding key.

IDeleteLicenseDataChallenge

Provides an interface for the delete license data challenge context.

IDeleteLicenseHandler

Handler interface for processing delete license data requests.

IDomainChallenge

Interface representing a domain join or leave challenge received from a client.

IDomainHandler

Handler interface for processing Domain Join and Leave requests.

IEncryptionKeyInfo

Provides an interface for key information.

IJoinDomainChallenge

Interface representing a domain join challenge received from a client.

ILeaveDomainChallenge

Interface representing a domain leave challenge received from a client.

ILicenseAcknowledgementChallenge

Interface representing a license acknowledgement challenge received from a client.

ILicenseAcknowledgementHandler

Handler interface for processing License Acknowledgement requests.

ILicenseAcquisitionHandler

Handler interface for processing License Acquisition requests.

ILicenseChallenge

Provides an interface for a license request received from a client.

IMeteringCertificateChallenge

Provides an interface for a metering certificate challenge received from the client.

IMeteringHandler

Handler interface for processing metering data challenges and metering certificate requests.

IPackagingDataAcquisitionHandler

Handler interface for processing Packaging Data Acquisition requests.

IProcessMeteringDataChallenge

Represents a metering data challenge received from the client.

IProtocolChallenge

Provides basic information about a protocol challenge that uses an opaque challenge tag (that is, all challenges except for in-stream delivery of licenses through HandlePackagingDataAcquisitionAsync(PackagingChallenge)).

IProtocolChallengeContext

Provides basic information about a protocol challenge.

ISecureStop2Handler

Handler interface for getting the key required to verify that decryptors are destroyed.

ISecureStopDataChallenge

Represents the process secure stop data challenge received from the client.

ISecureStopHandler

Handler interface for processing secure stop data requests.

IServerAuthorization

Handler interface for providing server authorization.

Enums

CertificateType

Defines the type of Certificate.

ContentKeyType

Defines types of content keys.

DecryptorSetup

Defines decryptor setup requirements indicating when to acquire licenses for the content for a given PlayReadyHeader.

EncryptionType

Defines the type of encryption applied to the stream.

EventLogId

The identifier of an exception passed to the ILogger implementation used for RMServerException.

KeyExchangeAlgorithm

Defines the supported algorithm a client is allowed to perform using a KeyExchange key.

KeyUsage

Defines the operations that a certificate key pair can perform.

LicenseChallengeReeFeatures

Defines the set of features that may have been compiled into the client REE. See ReeFeatureList for more information.

LicenseChallengeTeeAPIs

Defines the set of TEE APIs the client might support. See TeeApiList for more information.

LicenseChallengeTeeProperties

Defines the set of TEE properties the client might support. See TeePropertyList for more information.

LicenseStorageResultsType

Specifies the type of results to retrieve from the ILicenseAcknowledgementChallenge when calling the GetLicenseStorageResults(LicenseStorageResultsType) method.

LicenseType

Defines the type of a PlayReady license being issued.

PlatformIdentifier

Defines platforms with which a certificate may be associated.

PlayReadyHeaderType

Defines identifiers that indicate the type of a PlayReadyHeader.

ServerSupportedFeature

Defines the features that can be supported by the PlayReady Server SDK.

SupportedFeature

Defines features supported by a PlayReady client which are specified in the certificate.