Partager via


structure D3DDDIENCRYPTED_BLOCK_INFO (d3dumddi.h)

La structure D3DDDIENCRYPTED_BLOCK_INFO décrit les parties d’une mémoire tampon chiffrée.

Syntaxe

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

Membres

[in] NumEncryptedBytesAtBeginning

Nombre d’octets au début de la mémoire tampon chiffrée.

[in] NumBytesInSkipPattern

Nombre d’octets dans la mémoire tampon ignorés du chiffrement avant le démarrage du chiffrement.

[in] NumBytesInEncryptPattern

Nombre d’octets dans la mémoire tampon qui sont chiffrés après le modèle d’skip, que le membre NumBytesInSkipPattern spécifie. Le modèle ignorer et chiffrer est ensuite répété jusqu’à ce que la mémoire tampon se termine. Pour plus d’informations sur le modèle skip-encrypt, consultez la section Remarques.

Remarques

Étant donné que la partie chiffrée de la mémoire tampon est spécifiée en octets, une application doit s’assurer que les blocs chiffrés correspondent à l’alignement du bloc de chiffrement du GPU.

Le runtime peut spécifier une structure de D3DDDIENCRYPTED_BLOCK_INFO remplie dans le bloc de mémoire auquel la fonction pEncryptedBlockInfo membre de la structure D3DDDIARG_DECRYPTIONBLT pointe vers quand le runtime appelle la fonction de DecryptionBlt du pilote pour écrire des données dans une surface protégée.

Les exemples suivants montrent comment le runtime peut partitionner le chiffrement d’une mémoire tampon.

  1. Les valeurs suivantes chiffrent les 100 premiers octets de la mémoire tampon et ignorent les données de mémoire tampon restantes :
    • NumEncryptedBytesAtBeginning = 100 ;
    • NumBytesInSkipPattern = 0 ;
    • NumBytesInEnycryptPattern = 0 ;
  2. Les valeurs suivantes chiffrent les 100 premiers octets de la mémoire tampon, ignorent les 20 octets suivants, puis chiffrent les 2 prochains blocs d’octets. Le processus est ensuite répété où ces valeurs ignorent 20 octets et chiffrent 2 octets jusqu’à la fin de la mémoire tampon.
    • NumEncryptedBytesAtBeginning = 100 ;
    • NumBytesInSkipPattern = 20 ;
    • NumBytesInEnycryptPattern = 2 ;

Exigences

Exigence Valeur
client minimum pris en charge D3DDDIENCRYPTED_BLOCK_INFO est pris en charge à partir du système d’exploitation Windows 7.
d’en-tête d3dumddi.h (include D3dumddi.h)

Voir aussi

D3DDDIARG_DECRYPTIONBLT

DéchiffrementBlt