D3DDDIENCRYPTED_BLOCK_INFO 结构 (d3dumddi.h)
D3DDDIENCRYPTED_BLOCK_INFO 结构描述已加密的缓冲区部分。
语法
typedef struct _D3DDDIENCRYPTED_BLOCK_INFO {
[in] UINT NumEncryptedBytesAtBeginning;
[in] UINT NumBytesInSkipPattern;
[in] UINT NumBytesInEncryptPattern;
} D3DDDIENCRYPTED_BLOCK_INFO;
成员
[in] NumEncryptedBytesAtBeginning
缓冲区开头加密的字节数。
[in] NumBytesInSkipPattern
在加密再次开始之前从加密中跳过的缓冲区中的字节数。
[in] NumBytesInEncryptPattern
NumBytesInSkipPattern 成员指定的跳过模式后加密的缓冲区中的字节数。 然后,将重复跳过和加密模式,直到缓冲区结束。 有关 skip-encrypt 模式的详细信息,请参阅“备注”部分。
注解
由于缓冲区的加密部分以字节为单位指定,因此应用程序必须确保加密块与 GPU 的加密块对齐方式匹配。
当运行时调用驱动程序的 DecryptionBlt 函数将数据写入受保护图面时,运行时可以在内存块中指定D3DDDIARG_DECRYPTIONBLT结构的 pEncryptedBlockInfo 成员指向的填充D3DDDIENCRYPTED_BLOCK_INFO结构。
以下示例演示运行时如何对缓冲区的加密进行分区。
- 以下值加密缓冲区的前 100 个字节,并跳过剩余的缓冲区数据:
- NumEncryptedBytesAtBeginning = 100;
- NumBytesInSkipPattern = 0;
- NumBytesInEnycryptPattern = 0;
- 以下值加密缓冲区的前 100 个字节,跳过接下来的 20 个字节,然后加密接下来的 2 个字节块。 然后重复此过程,在这些值跳过 20 个字节并加密 2 个字节,直到缓冲区结束。
- NumEncryptedBytesAtBeginning = 100;
- NumBytesInSkipPattern = 20;
- NumBytesInEnycryptPattern = 2;
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 7 操作系统开始支持D3DDDIENCRYPTED_BLOCK_INFO。 |
标头 | d3dumddi.h (包括 D3dumddi.h) |