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结构。

以下示例演示运行时如何对缓冲区的加密进行分区。

  1. 以下值加密缓冲区的前 100 个字节,并跳过剩余的缓冲区数据:
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 0;
    • NumBytesInEnycryptPattern = 0;
  2. 以下值加密缓冲区的前 100 个字节,跳过接下来的 20 个字节,然后加密接下来的 2 个字节块。 然后重复此过程,在这些值跳过 20 个字节并加密 2 个字节,直到缓冲区结束。
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 20;
    • NumBytesInEnycryptPattern = 2;

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始支持D3DDDIENCRYPTED_BLOCK_INFO。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_DECRYPTIONBLT

DecryptionBlt