PFND3D11_1DDI_ENCRYPTIONBLT Rückruffunktion (d3d10umddi.h)

Liest verschlüsselte Daten von einer geschützten Oberfläche.

Syntax

PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;

void Pfnd3d111DdiEncryptionblt(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D10DDI_HRESOURCE hSrcResource,
  D3D10DDI_HRESOURCE hDstResource,
  UINT IVSize,
  const VOID *pIV
)
{...}

Parameter

hDevice

Ein Handle für das Anzeigegerät (Grafikkontext).

hCryptoSession

Ein Handle für die privaten Daten des Treibers für die kryptografische Sitzung. Dieses Handle wurde von der Direct3D-Runtime erstellt und im Aufruf der CreateCryptoSession-Funktion an den Treiber übergeben.

hSrcResource

Ein Handle für die Ressource, die die Quelldaten enthält.

hDstResource

Ein Zeiger auf die Ressource, in die die verschlüsselten Daten geschrieben werden sollen.

IVSize

Die Größe des Initialisierungsvektors (IV) in Bytes.

pIV

Ein Zeiger auf einen Speicherblock, der den Initialisierungsvektor enthält, der zum Verschlüsseln der Bitblt-Daten erforderlich ist. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

Hinweis  

Wenn pIV NULL ist, benötigt der Grafikkarte keinen separaten Initialisierungsvektor, um die Daten zu verschlüsseln. Das heißt, der Sitzungsschlüssel wird verwendet, um die Daten zu verschlüsseln.

 

Rückgabewert

Keine

Bemerkungen

Für diese Funktion gelten die folgenden Einschränkungen:

  • Die Funktion kann keine Subrectangles oder teilweise verschlüsselten Oberflächen zurücklesen.
  • Teilweise verschlüsselte Puffer können von der Funktion nicht zurückgelesen werden. Viele hardwarebasierte Verschlüsselungslösungen lassen nicht verschlüsselte Lesevorgänge aus geschütztem Speicher nicht zu.
  • Bei der geschützten Oberfläche muss es sich entweder um eine einfache Oberfläche außerhalb des Bildschirms oder um ein Renderziel handelt.
  • Die Zieloberfläche muss eine Systemspeicheroberfläche sein, die mit der richtigen Ausrichtung erstellt wurde, wie weiter oben beschrieben.
  • Die geschützte Oberfläche kann nicht mehrfach gesampt werden.
  • Die Funktion unterstützt keine Dehnung oder Farbraumkonvertierung.
Bei der 128-Bit-AES-CTR-Verschlüsselung verweist der pIV-Parameter auf eine D3D11_1DDI_AES_CTR_IV Struktur, die von der Anwendung zugeordnet wird. Der tatsächliche Inhalt dieser Struktur wird jedoch vom Treiber oder der Grafikkarte ausgefüllt. Wenn die erste IV generiert wird, initialisiert der Treiber oder Adapter den IV-Member dieser Struktur in einer Zufallszahl. Für jeden nachfolgenden IV erhöht der Aufrufer den IV-Member , wodurch sichergestellt wird, dass der Wert immer steigt. Mit diesem Verfahren kann die Anwendung überprüfen, ob dieselbe IV nie mehr als einmal mit demselben Schlüsselpaar verwendet wird.

Für andere Verschlüsselungstypen kann eine andere Struktur verwendet werden, oder die Verschlüsselung verwendet möglicherweise keinen IV.

Hinweis Diese Funktion berücksichtigt kein Direct3D Version 11-Prädikat, das möglicherweise festgelegt wurde.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV