D3D11_CONTENT_PROTECTION_CAPS 枚举 (d3d11.h)

包含描述内容保护功能的标志。

语法

typedef enum D3D11_CONTENT_PROTECTION_CAPS {
  D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2,
  D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4,
  D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8,
  D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10,
  D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20,
  D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40,
  D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80,
  D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100,
  D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200,
  D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000,
  D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION_MULTI_THREADED = 0x8000
} ;

常量

 
D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE
值: 0x1
内容保护由驱动程序在软件中实现。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE
值: 0x2
内容保护由 GPU 在硬件中实现。
D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON
值: 0x4
无论应用程序是否显式启用保护,内容保护始终应用于受保护的表面。
D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION
值: 0x8
驱动程序可以使用部分加密的缓冲区。 如果此功能不存在,则整个缓冲区必须经过加密或清除。
D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY
值: 0x10
驱动程序可以使用使用会话密钥加密的单独内容密钥来加密数据。
D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY
值: 0x20
驱动程序可以刷新会话密钥,而无需重新协商密钥。
D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK
值: 0x40
驱动程序可以从受保护的图面中读回加密数据。 有关详细信息,请参阅 ID3D11VideoContext::EncryptionBlt
D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY
值: 0x80
驱动程序需要单独的密钥才能从受保护的图面读取加密数据。
D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV
值: 0x100
如果加密类型为 D3DCRYPTOTYPE_AES128_CTR,则应用程序必须在 D3D11_AES_CTR_IV 结构中使用顺序计数。
D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY
值: 0x200
驱动程序支持加密切片数据,但不支持压缩缓冲区中的任何其他加密数据。 调用方不应加密缓冲区内除切片数据以外的任何数据。

注意 驱动程序应仅针对具有此限制的特定配置文件报告此标志。

 
D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT
值: 0x400
驱动程序可以将加密数据从一个资源复制到另一个资源,在过程中解密数据。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED
值: 0x800
硬件支持保护特定资源。 这表示:


  • CPU 永远无法读取受保护分配的内容。

  • 硬件可确保无法将受保护的资源复制到未受保护的资源。


注意从Windows 10开始支持此枚举值。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE
值: 0x1000
在内存不足的情况下,可以逐出受保护资源的物理页并将其分页到磁盘,而不会在分页回页时丢失资源的内容。

注意从Windows 10开始支持此枚举值。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN
值: 0x2000
硬件支持自动拆解机制,在某些情况下可能会触发硬件密钥或受保护内容丢失。 应用程序可以注册,以在发生这些事件时收到通知。

注意从Windows 10开始支持此枚举值。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION
值: 0x4000
安全环境与 GPU 紧密耦合,应使用 ID3D11CryptoSession 在用户模式 DRM 组件和安全执行环境之间进行通信。

注意从Windows 10开始支持此枚举值。
D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION_MULTI_THREADED
值: 0x8000

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
标头 d3d11.h

另请参阅

D3D11_VIDEO_CONTENT_PROTECTION_CAPS

Direct3D 11 视频枚举