Freigeben über


D3DDDIENCRYPTED_BLOCK_INFO Struktur (d3dumddi.h)

Die D3DDDIENCRYPTED_BLOCK_INFO-Struktur beschreibt die Teile eines Puffers, die verschlüsselt sind.

Syntax

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

Member

[in] NumEncryptedBytesAtBeginning

Die Anzahl der Bytes am Anfang des Puffers, die verschlüsselt sind.

[in] NumBytesInSkipPattern

Die Anzahl der Bytes im Puffer, die von der Verschlüsselung übersprungen werden, bevor die Verschlüsselung erneut beginnt.

[in] NumBytesInEncryptPattern

Die Anzahl der Bytes im Puffer, die nach dem Skip-Muster verschlüsselt werden, das vom NumBytesInSkipPattern-Member angegeben wird. Das Muster zum Überspringen und Verschlüsseln wird dann wiederholt, bis der Puffer endet. Weitere Informationen zum Skip-Encrypt-Muster finden Sie im Abschnitt Hinweise.

Hinweise

Da der verschlüsselte Teil des Puffers in Bytes angegeben ist, muss eine Anwendung sicherstellen, dass die verschlüsselten Blöcke der Kryptoblockausrichtung der GPU entsprechen.

Die Runtime kann eine aufgefüllte D3DDDIENCRYPTED_BLOCK_INFO Struktur im Speicherblock angeben, auf die das pEncryptedBlockInfo-Element der D3DDDIARG_DECRYPTIONBLT Struktur verweist, wenn die Runtime die DecryptionBlt-Funktion des Treibers aufruft, um Daten auf eine geschützte Oberfläche zu schreiben.

Die folgenden Beispiele zeigen, wie die Runtime die Verschlüsselung eines Puffers partitionieren kann.

  1. Die folgenden Werte verschlüsseln die ersten 100 Bytes des Puffers und überspringen die verbleibenden Pufferdaten:
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 0;
    • NumBytesInEnycryptPattern = 0;
  2. Mit den folgenden Werten werden die ersten 100 Bytes des Puffers verschlüsselt, die nächsten 20 Bytes übersprungen und dann die nächsten 2 Bytesblöcke verschlüsselt. Der Prozess wird dann wiederholt, wobei diese Werte 20 Bytes überspringen und bis zum Ende des Puffers 2 Bytes verschlüsseln.
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 20;
    • NumBytesInEnycryptPattern = 2;

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) D3DDDIENCRYPTED_BLOCK_INFO wird ab dem Windows 7-Betriebssystem unterstützt.
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

D3DDDIARG_DECRYPTIONBLT

DecryptionBlt