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 的加密块对齐方式匹配。

运行时可以在内存块中指定填充的D3DDDIENCRYPTED_BLOCK_INFO结构,pEncryptedBlockInfoD3DDDIARG_DECRYPTIONBLT 结构的成员在运行时调用驱动程序的 DecryptionBlt 函数将数据写入受保护的图面时指向该结构。

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

  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