Condividi tramite


Struttura D3DCONTENTPROTECTIONCAPS (d3d9caps.h)

Descrive le funzionalità di protezione del contenuto di un driver di visualizzazione. Per ottenere le funzionalità, chiama IDirect3DDevice9Video::GetContentProtectionCaps.

Sintassi

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

Members

Caps

OR bit per bit pari a zero o più flag.

Valore Significato
D3DCPCAPS_SOFTWARE
0x00000001
La crittografia viene implementata nel software dal driver.
D3DCPCAPS_HARDWARE
0x00000002
La crittografia viene implementata nell'hardware dalla GPU.
D3DCPCAPS_PROTECTIONALWAYSON
0x00000004
La protezione del contenuto viene sempre applicata a una superficie Direct3D protetta, indipendentemente dal fatto che l'applicazione consenta in modo esplicito la protezione del contenuto.
D3DCPCAPS_PARTIALDECRYPTION
0x00000008
Il driver può usare buffer parzialmente crittografati. Se questa funzionalità non è presente, l'intero buffer deve essere crittografato o deselezionato.
D3DCPCAPS_CONTENTKEY
0x00000010
Il driver può crittografare i dati usando una chiave simmetrica separata crittografata usando la chiave di sessione. Per altre informazioni, vedere IDirect3DCryptoSession9::D ecryptionBlt.
D3DCPCAPS_FRESHENSESSIONKEY
0x00000020
Il driver può aggiornare la chiave di sessione senza rinegoziare la chiave. Per aggiornare la chiave di sessione, chiama IDirect3DCryptoSession9::StartSessionKeyRefresh.
D3DCPCAPS_ENCRYPTEDREADBACK
0x00000040
Il driver può leggere i dati crittografati da una superficie protetta usando il metodo IDirect3DCryptoSession9::EncryptionBlt .
D3DCPCAPS_ENCRYPTEDREADBACKKEY
0x00000080
Il driver richiede una chiave separata per leggere i dati crittografati da una superficie protetta. Per ottenere questa seconda chiave, chiama IDirect3DCryptoSession9::GetEncryptionBltKey.
D3DCPCAPS_SEQUENTIAL_CTR_IV
0x00000100
Se il tipo di crittografia è D3DCRYPTOTYPE_AES128_CTR, l'applicazione deve usare un conteggio sequenziale nella struttura DXVA2_AES_CTR_IV . Per altre informazioni, vedere le osservazioni per DXVA2_AES_CTR_IV.

KeyExchangeType

Specifica il tipo di scambio di chiavi necessario per negoziare la chiave di sessione. Vengono definiti i GUID seguenti.

Valore Significato
D3DKEYEXCHANGE_RSAES_OAEP
Il decodificatore crittografa la chiave di sessione usando lo schema di crittografia RSA - Padding della crittografia asimmetrica ottimale (RSAES-OAEP).
D3DKEYEXCHANGE_DXVA
Usare il meccanismo di scambio delle chiavi definito per DirectX Video Acceleration 2 (DXVA-2).

BufferAlignmentStart

Allineamento della memoria necessario per i buffer usati dal motore di crittografia GPU. Se l'applicazione usa un buffer di memoria di sistema per passare contenuto crittografato alla GPU o per leggere il contenuto crittografato dalla GPU, l'indirizzo iniziale del buffer deve essere un multiplo di questo valore.

BlockAlignmentSize

Allineamento del blocco richiesto dal motore di crittografia GPU. Le dimensioni dei dati da crittografare devono essere un multiplo di questo valore.

ProtectedMemorySize

Quantità totale di memoria che può essere utilizzata per contenere superfici protette.

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione d3d9caps.h (include D3d9.h)

Vedi anche

Strutture video Direct3D

IDirect3DDevice9Video::GetContentProtectionCaps