D3D11_1DDI_CONTENT_PROTECTION_CAPS enumeration

Describes content-protection capabilities.

Syntax


typedef enum D3D11_1DDI_CONTENT_PROTECTION_CAPS { 
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_SOFTWARE                                 = 0x00000001,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_HARDWARE                                 = 0x00000002,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON                     = 0x00000004,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION                       = 0x00000008,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_CONTENT_KEY                              = 0x00000010,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY                      = 0x00000020,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK                      = 0x00000040,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY                  = 0x00000080,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV                        = 0x00000100,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY                   = 0x00000200,
  D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT                           = 0x00000400,
#if D3D11DDI_MINOR_HEADER_VERSION >= 5
  D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED         = 0x00000800,
  D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE    = 0x00001000,
  D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION  = 0x00002000,
  D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN                     = 0x00004000,
  D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION            = 0x00008000,
#endif 
  
} D3D11_1DDI_CONTENT_PROTECTION_CAPS;

Constants

D3D11_1DDI_CONTENT_PROTECTION_CAPS_SOFTWARE

The encryption is implemented in software by the driver.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_HARDWARE

The encryption is implemented in hardware by the GPU.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON

Content protection is always applied to a protected surface, regardless of whether the application explicitly enables protection.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION

The driver can use partially encrypted buffers. If this capability is not present, the entire buffer must be either encrypted or clear.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_CONTENT_KEY

The driver can encrypt data using a separate content key that is encrypted using the session key.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY

The driver can refresh the session key without renegotiating the key.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK

The driver can read back encrypted data from a protected surface. For more information, see EncryptionBlt(D3D11_1).

D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY

The driver requires a separate key to read encrypted data from a protected surface.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV

If the encryption type is D3D11_1DDI_CRYPTO_TYPE_AES128_CTR, the application must use a sequential count in the D3D11_1DDI_AES_CTR_IV structure. For more information, see the Remarks for the EncryptionBlt(D3D11_1) function.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY

The driver supports encrypted slice data, but does not support any other encrypted data in the DirectX Video Accelerator (DXVA) 2 compressed buffer. The caller should not encrypt any data within the buffer other than the slice data.

D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT

The driver supports calls to the DecryptionBlt(D3D11_1) function.

D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED

The hardware supports the protection of specific resources using the WDDM 2.0 and later versions of the Graphics Content Protection DDI. This protection means:

  • The contents of a protected allocation can never be read by the CPU.
  • The hardware can ensure that a protected resource cannot be copied to an unprotected resource.

Supported starting with Windows 10.

D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE

The physical pages of a protected resource can be evicted and potentially paged to disk in low memory conditions without losing the contents of the resource when paged back in.

Supported starting with Windows 10.

D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION

The hardware or driver can transition allocations between protected and unprotected states by calling SetHardwareProtection without requiring the allocation to be re-created.

Supported starting with Windows 10.

D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN

The hardware supports an automatic tear-down mechanism that could trigger hardware keys or protected content to become lost in some conditions. The application can register to know when these events occur.

Supported starting with Windows 10.

D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION

The secure environment is tightly coupled with the GPU and an ID3D11CryptoSession should be used for communication between the user mode DRM component and the secure execution environment.

Supported starting with Windows 10.

Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Header

D3d10umddi.h (include D3d10umddi.h)

See also

D3D11_1DDI_AES_CTR_IV
DecryptionBlt(D3D11_1)
EncryptionBlt(D3D11_1)
SetHardwareProtection

 

 

Send comments about this topic to Microsoft

Show: