Compartir a través de


estructura D3DDDIENCRYPTED_BLOCK_INFO (d3dumddi.h)

La estructura de D3DDDIENCRYPTED_BLOCK_INFO describe las partes de un búfer cifrado.

Sintaxis

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

Miembros

[in] NumEncryptedBytesAtBeginning

Número de bytes al principio del búfer cifrado.

[in] NumBytesInSkipPattern

Número de bytes del búfer que se omiten del cifrado antes de que se inicie de nuevo el cifrado.

[in] NumBytesInEncryptPattern

Número de bytes del búfer que se cifran después del patrón skip, que especifica el miembro NumBytesInSkipPattern . El patrón skip y encrypt se repite hasta que finaliza el búfer. Para obtener más información sobre el patrón skip-encrypt, vea la sección Comentarios.

Comentarios

Dado que la parte cifrada del búfer se especifica en bytes, una aplicación debe asegurarse de que los bloques cifrados coincidan con la alineación del bloque criptográfico de la GPU.

El tiempo de ejecución puede especificar una estructura de D3DDDIENCRYPTED_BLOCK_INFO rellenada en el bloque de memoria a la que apunta el miembro pEncryptedBlockInfo de la estructura D3DDDIARG_DECRYPTIONBLT cuando el tiempo de ejecución llama a la función DecryptionBlt del controlador para escribir datos en una superficie protegida.

En los ejemplos siguientes se muestra cómo el tiempo de ejecución puede crear particiones del cifrado de un búfer.

  1. Los valores siguientes cifran los primeros 100 bytes del búfer y omiten los datos de búfer restantes:
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 0;
    • NumBytesInEnycryptPattern = 0;
  2. Los valores siguientes cifran los primeros 100 bytes del búfer, omiten los siguientes 20 bytes y, a continuación, cifran los siguientes 2 bytes bloques. A continuación, el proceso se repite donde estos valores omiten 20 bytes y cifran 2 bytes hasta el final del búfer.
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 20;
    • NumBytesInEnycryptPattern = 2;

Requisitos

Requisito Value
Cliente mínimo compatible D3DDDIENCRYPTED_BLOCK_INFO se admite a partir del sistema operativo Windows 7.
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_DECRYPTIONBLT

DecryptionBlt