ProtectionCapabilities Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Exposes Microsoft PlayReady digital rights management (DRM) capabilities for video decoding, video display, and video output protection subsystems used by the Windows Media Foundation pipeline under a XAML MediaElement or C++ Media Engine to a WinRT caller. The caller may use this information to select the most appropriate encoding of DRM’ed content for playback.
public ref class ProtectionCapabilities sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ProtectionCapabilities final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
class ProtectionCapabilities final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ProtectionCapabilities
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
public sealed class ProtectionCapabilities
function ProtectionCapabilities()
Public NotInheritable Class ProtectionCapabilities
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v2.0)
|
Remarks
Software DRM typically does not need this information, and may rely on MediaElement or Media Engine CanPlayType. Capabilities for hardware DRM may be a constrained subset of those for software DRM, and are controlled by Graphics IHVs’ hardware and firmware. For example, a specific graphics adapter’s decoder may be able to handle HEVC 10-bit video streams for software DRM and clear content, and not for hardware DRM. The capability queries are therefore targeted at responses for hardware DRM, although the class does support limited queries for software DRM.
Individual elements of queries for DRM capabilities are referred to as features. Each subsystem may have one or more features.PlayReady DRM is the only DRM system supported by this class. Software DRM refers to the PlayReady mode of operation where hardware-based content key management, content decryption, license policy enforcement, and video buffer protection are not required. Hardware DRM requires Graphics IHV hardware and firmware to enforce all of these parts of the content flow.
For hardware DRM, all of the video subystems must be GPU accelerated. For software DRM, all of the video subsystems may be, and typically are, GPU accelerated. This means that playback performance is not significantly different between them in the best case. Hardware DRM’s goal is to provide a higher level of content protection robustness than software DRM.
Constructors
ProtectionCapabilities() |
Initializes a new instance of the ProtectionCapabilities class. |
Methods
IsTypeSupported(String, String) |
Queries features of video decoding, display, and output protection subsystems for DRM capabilities. Warning It is recommended that this method only be used with Windows 10, version 1607 or newer OS version, even though it is present on older versions of Windows 10. |