D3DCONTENTPROTECTIONCAPS-Struktur (d3d9caps.h)

Beschreibt die Inhaltsschutzfunktionen eines Anzeigetreibers. Rufen Sie zum Abrufen der Funktionen IDirect3DDevice9Video::GetContentProtectionCaps auf.

Syntax

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

Member

Caps

Bitweise OR mit 0 oder mehr Flags.

Wert Bedeutung
D3DCPCAPS_SOFTWARE
0x00000001
Die Verschlüsselung wird vom Treiber softwareseitig implementiert.
D3DCPCAPS_HARDWARE
0x00000002
Die Verschlüsselung wird von der GPU in Hardware implementiert.
D3DCPCAPS_PROTECTIONALWAYSON
0x00000004
Inhaltsschutz wird immer auf eine geschützte Direct3D-Oberfläche angewendet, unabhängig davon, ob die Anwendung den Inhaltsschutz explizit aktiviert.
D3DCPCAPS_PARTIALDECRYPTION
0x00000008
Der Treiber kann teilweise verschlüsselte Puffer verwenden. Wenn diese Funktion nicht vorhanden ist, muss der gesamte Puffer entweder verschlüsselt oder eindeutig sein.
D3DCPCAPS_CONTENTKEY
0x00000010
Der Treiber kann Daten mithilfe eines separaten Inhaltsschlüssels verschlüsseln, der mit dem Sitzungsschlüssel verschlüsselt wird. Weitere Informationen finden Sie unter IDirect3DCryptoSession9::D ecryptionBlt.
D3DCPCAPS_FRESHENSESSIONKEY
0x00000020
Der Treiber kann den Sitzungsschlüssel aktualisieren, ohne den Schlüssel neu zu verhandeln. Rufen Sie zum Aktualisieren des Sitzungsschlüssels IDirect3DCryptoSession9::StartSessionKeyRefresh auf.
D3DCPCAPS_ENCRYPTEDREADBACK
0x00000040
Der Treiber kann verschlüsselte Daten mit der IDirect3DCryptoSession9::EncryptionBlt-Methode von einer geschützten Oberfläche zurücklesen.
D3DCPCAPS_ENCRYPTEDREADBACKKEY
0x00000080
Der Treiber erfordert einen separaten Schlüssel, um verschlüsselte Daten von einer geschützten Oberfläche zu lesen. Um diesen zweiten Schlüssel zu erhalten, rufen Sie IDirect3DCryptoSession9::GetEncryptionBltKey auf.
D3DCPCAPS_SEQUENTIAL_CTR_IV
0x00000100
Wenn der Verschlüsselungstyp D3DCRYPTOTYPE_AES128_CTR ist, muss die Anwendung eine sequenzielle Anzahl in der DXVA2_AES_CTR_IV-Struktur verwenden. Weitere Informationen finden Sie in den Hinweisen zu DXVA2_AES_CTR_IV.

KeyExchangeType

Gibt den Typ des Schlüsselaustauschs an, der zum Aushandeln des Sitzungsschlüssels erforderlich ist. Die folgenden GUIDs sind definiert.

Wert Bedeutung
D3DKEYEXCHANGE_RSAES_OAEP
Der Decoder verschlüsselt den Sitzungsschlüssel mithilfe des RSA Encryption Scheme – Optimal Asymmetric Encryption Padding (RSAES-OAEP).
D3DKEYEXCHANGE_DXVA
Verwenden Sie den für DirectX Video Acceleration 2 (DXVA-2) definierten Schlüsselaustauschmechanismus.

BufferAlignmentStart

Die Speicherausrichtung, die für Puffer erforderlich ist, die von der GPU-Kryptografie-Engine verwendet werden. Wenn die Anwendung einen Systemspeicherpuffer verwendet, um verschlüsselte Inhalte an die GPU zu übergeben oder verschlüsselte Inhalte von der GPU zurückzulesen, muss die Startadresse des Puffers ein Vielfaches dieses Werts sein.

BlockAlignmentSize

Die blockausrichtung, die für die GPU-Kryptografie-Engine erforderlich ist. Die Größe der zu verschlüsselnden Daten muss ein Vielfaches dieses Werts sein.

ProtectedMemorySize

Die Gesamtmenge des Arbeitsspeichers, der für geschützte Oberflächen verwendet werden kann.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile d3d9caps.h (einschließlich D3d9.h)

Weitere Informationen

Direct3D-Videostrukturen

IDirect3DDevice9Video::GetContentProtectionCaps