D3DDDIENCRYPTED_BLOCK_INFO structure (d3dumddi.h)

The D3DDDIENCRYPTED_BLOCK_INFO structure describes the portions of a buffer that are encrypted.

Syntax

typedef struct _D3DDDIENCRYPTED_BLOCK_INFO {
  [in] UINT NumEncryptedBytesAtBeginning;
  [in] UINT NumBytesInSkipPattern;
  [in] UINT NumBytesInEncryptPattern;
} D3DDDIENCRYPTED_BLOCK_INFO;

Members

[in] NumEncryptedBytesAtBeginning

The number of bytes at the beginning of the buffer that are encrypted.

[in] NumBytesInSkipPattern

The number of bytes in the buffer that are skipped from encryption before encryption starts again.

[in] NumBytesInEncryptPattern

The number of bytes in the buffer that are encrypted after the skip pattern, which the NumBytesInSkipPattern member specifies. The skip and encrypt pattern is then repeated until the buffer ends. For more information about the skip-encrypt pattern, see the Remarks section.

Remarks

Because the buffer's encrypted portion is specified in bytes, an application must ensure that the encrypted blocks match the GPU's crypto-block alignment.

The runtime can specify a populated D3DDDIENCRYPTED_BLOCK_INFO structure in the block of memory that the pEncryptedBlockInfo member of the D3DDDIARG_DECRYPTIONBLT structure points to when the runtime calls the driver's DecryptionBlt function to write data to a protected surface.

The following examples show how the runtime can partition a buffer's encryption.

  1. The following values encrypt the first 100 bytes of the buffer and skip the remaining buffer data:
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 0;
    • NumBytesInEnycryptPattern = 0;
  2. The following values encrypt the first 100 bytes of the buffer, skips the next 20 bytes, and then encrypt the next 2 bytes blocks. The process is then repeated where these values skip 20 bytes and encrypt 2 bytes until the end of the buffer.
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 20;
    • NumBytesInEnycryptPattern = 2;

Requirements

Requirement Value
Minimum supported client D3DDDIENCRYPTED_BLOCK_INFO is supported beginning with the Windows 7 operating system.
Header d3dumddi.h (include D3dumddi.h)

See also

D3DDDIARG_DECRYPTIONBLT

DecryptionBlt