// d3d10umddi.h
typedef enum D3D11_1DDI_CONTENT_PROTECTION_CAPS {
D3D11_1DDI_CONTENT_PROTECTION_CAPS_SOFTWARE,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_HARDWARE,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_CONTENT_KEY,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY,
D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT,
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED,
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE,
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION,
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN,
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION
} ;
View the official Windows Driver Kit DDI referenceNo description available.
Describes content-protection capabilities.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_SOFTWAREThe encryption is implemented in software by the driver.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_HARDWAREThe encryption is implemented in hardware by the GPU.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ONContent protection is always applied to a protected surface, regardless of whether the application explicitly enables protection.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTIONThe 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_KEYThe driver can encrypt data using a separate content key that is encrypted using the session key.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEYThe driver can refresh the session key without renegotiating the key.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACKThe 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_KEYThe driver requires a separate key to read encrypted data from a protected surface.
D3D11_1DDI_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IVIf 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_ONLYThe 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_BLTThe driver supports calls to the DecryptionBlt(D3D11_1) function.
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSEDThe hardware supports the protection of specific resources using the WDDM 2.0 and later versions of the Graphics Content Protection DDI. This protection means:
Supported starting with Windows 10.
D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLEThe 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_TRANSITIONThe 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_TEARDOWNThe 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_COMMUNICATIONThe 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.