D3DCONTENTPROTECTIONCAPS 结构 (d3d9caps.h)
介绍显示驱动程序的内容保护功能。 若要获取这些功能,请调用 IDirect3DDevice9Video::GetContentProtectionCaps。
语法
typedef struct _D3DCONTENTPROTECTIONCAPS {
DWORD Caps;
GUID KeyExchangeType;
UINT BufferAlignmentStart;
UINT BlockAlignmentSize;
ULONGLONG ProtectedMemorySize;
} D3DCONTENTPROTECTIONCAPS;
成员
Caps
零个或多个标志的按位 OR 。
Value | 含义 |
---|---|
|
加密由驱动程序在软件中实现。 |
|
加密由 GPU 在硬件中实现。 |
|
无论应用程序是否显式启用内容保护,内容保护始终应用于受保护的 Direct3D 图面。 |
|
驱动程序可以使用部分加密的缓冲区。 如果此功能不存在,则整个缓冲区必须经过加密或清除。 |
|
驱动程序可以使用使用会话密钥加密的单独内容密钥来加密数据。 有关详细信息,请参阅 IDirect3DCryptoSession9::D ecryptionBlt。 |
|
驱动程序可以刷新会话密钥,而无需重新协商密钥。 若要刷新会话密钥,请调用 IDirect3DCryptoSession9::StartSessionKeyRefresh。 |
|
驱动程序可以使用 IDirect3DCryptoSession9::EncryptionBlt 方法从受保护的图面读取加密数据。 |
|
驱动程序需要单独的密钥才能从受保护的图面读取加密数据。 若要获取此第二个密钥,请调用 IDirect3DCryptoSession9::GetEncryptionBltKey。 |
|
如果加密类型为 D3DCRYPTOTYPE_AES128_CTR,则应用程序必须在 DXVA2_AES_CTR_IV 结构中使用顺序计数。 有关详细信息,请参阅 DXVA2_AES_CTR_IV的备注。 |
KeyExchangeType
指定协商会话密钥所需的密钥交换类型。 定义了以下 GUID。
Value | 含义 |
---|---|
|
解码器使用 RSA 加密方案加密会话密钥 - 最佳非对称加密填充 (RSAES-OAEP) 。 |
|
使用为 DirectX 视频加速 2 定义的密钥交换机制 (DXVA-2) 。 |
BufferAlignmentStart
GPU 加密引擎使用的缓冲区所需的内存对齐方式。 如果应用程序使用系统内存缓冲区将加密内容传递到 GPU,或从 GPU 中读回加密内容,则缓冲区的起始地址必须是此值的倍数。
BlockAlignmentSize
GPU 加密引擎所需的块对齐方式。 要加密的数据大小必须是此值的倍数。
ProtectedMemorySize
可用于保存受保护表面的内存总量。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | d3d9caps.h (包括 D3d9.h) |