Structure D3DCONTENTPROTECTIONCAPS (d3d9caps.h)

Décrit les fonctionnalités de protection du contenu d’un pilote d’affichage. Pour obtenir les fonctionnalités, appelez IDirect3DDevice9Video::GetContentProtectionCaps.

Syntaxe

typedef struct _D3DCONTENTPROTECTIONCAPS {
  DWORD     Caps;
  GUID      KeyExchangeType;
  UINT      BufferAlignmentStart;
  UINT      BlockAlignmentSize;
  ULONGLONG ProtectedMemorySize;
} D3DCONTENTPROTECTIONCAPS;

Membres

Caps

OR au niveau du bit de zéro ou plusieurs indicateurs.

Valeur Signification
D3DCPCAPS_SOFTWARE
0x00000001
Le chiffrement est implémenté dans le logiciel par le pilote.
D3DCPCAPS_HARDWARE
0x00000002
Le chiffrement est implémenté dans le matériel par le GPU.
D3DCPCAPS_PROTECTIONALWAYSON
0x00000004
La protection du contenu est toujours appliquée à une surface Direct3D protégée, que l’application active explicitement ou non la protection du contenu.
D3DCPCAPS_PARTIALDECRYPTION
0x00000008
Le pilote peut utiliser des mémoires tampons partiellement chiffrées. Si cette fonctionnalité n’est pas présente, la mémoire tampon entière doit être chiffrée ou effacée.
D3DCPCAPS_CONTENTKEY
0x00000010
Le pilote peut chiffrer des données à l’aide d’une clé de contenu distincte chiffrée à l’aide de la clé de session. Pour plus d’informations, consultez IDirect3DCryptoSession9::D ecryptionBlt.
D3DCPCAPS_FRESHENSESSIONKEY
0x00000020
Le pilote peut actualiser la clé de session sans la renégocier. Pour actualiser la clé de session, appelez IDirect3DCryptoSession9::StartSessionKeyRefresh.
D3DCPCAPS_ENCRYPTEDREADBACK
0x00000040
Le pilote peut lire des données chiffrées à partir d’une surface protégée, à l’aide de la méthode IDirect3DCryptoSession9::EncryptionBlt .
D3DCPCAPS_ENCRYPTEDREADBACKKEY
0x00000080
Le pilote a besoin d’une clé distincte pour lire les données chiffrées à partir d’une surface protégée. Pour obtenir cette deuxième clé, appelez IDirect3DCryptoSession9::GetEncryptionBltKey.
D3DCPCAPS_SEQUENTIAL_CTR_IV
0x00000100
Si le type de chiffrement est D3DCRYPTOTYPE_AES128_CTR, l’application doit utiliser un nombre séquentiel dans la structure DXVA2_AES_CTR_IV . Pour plus d’informations, consultez les remarques relatives à DXVA2_AES_CTR_IV.

KeyExchangeType

Spécifie le type d’échange de clés requis pour négocier la clé de session. Les GUID suivants sont définis.

Valeur Signification
D3DKEYEXCHANGE_RSAES_OAEP
Le décodeur chiffre la clé de session à l’aide de RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP).
D3DKEYEXCHANGE_DXVA
Utilisez le mécanisme d’échange de clés défini pour DirectX Video Acceleration 2 (DXVA-2).

BufferAlignmentStart

Alignement de la mémoire requis pour les mémoires tampons utilisées par le moteur de chiffrement GPU. Si l’application utilise une mémoire tampon système pour passer du contenu chiffré au GPU ou pour lire du contenu chiffré à partir du GPU, l’adresse de départ de la mémoire tampon doit être un multiple de cette valeur.

BlockAlignmentSize

Alignement de blocs requis par le moteur de chiffrement GPU. La taille des données à chiffrer doit être un multiple de cette valeur.

ProtectedMemorySize

Quantité totale de mémoire qui peut être utilisée pour contenir des surfaces protégées.

Spécifications

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
En-tête d3d9caps.h (inclure D3d9.h)

Voir aussi

Structures vidéo Direct3D

IDirect3DDevice9Video::GetContentProtectionCaps