Freigeben über


PFND3D11_1DDI_ENCRYPTIONBLT Rückruffunktion (d3d10umddi.h)

Liest verschlüsselte Daten aus 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-Laufzeit erstellt und an den Treiber im Aufruf der CreateCryptoSession-Funktion übergeben.

hSrcResource

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

hDstResource

Ein Zeiger auf die Ressource, in der 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 "Hinweise".

  

Wenn pIV- NULL ist, erfordert der Grafikadapter keinen separaten Initialisierungsvektor, um die Daten zu verschlüsseln. Das heißt, der Sitzungsschlüssel wird zum Verschlüsseln der Daten verwendet.

 

Rückgabewert

Nichts

Bemerkungen

Diese Funktion hat die folgenden Einschränkungen:

  • Die Funktion kann unterrectangles oder teilweise verschlüsselte Oberflächen nicht zurücklesen.
  • Die Funktion kann teilweise verschlüsselte Puffer nicht zurücklesen. Viele hardwarebasierte Verschlüsselungslösungen lassen nicht verschlüsselte Lesevorgänge aus geschütztem Speicher zu.
  • Die geschützte Oberfläche muss entweder eine reine Offscreen-Oberfläche oder ein Renderziel sein.
  • Die Zieloberfläche muss eine Systemspeicheroberfläche sein, die mit der richtigen Ausrichtung erstellt wurde, wie zuvor beschrieben.
  • Die geschützte Oberfläche kann nicht multisampelt 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 zugewiesen wird. Der tatsächliche Inhalt dieser Struktur wird jedoch vom Treiber oder Grafikadapter ausgefüllt. Wenn der erste IV generiert wird, initialisiert der Treiber oder Adapter den IV Element dieser Struktur auf eine Zufallszahl. Für jeden nachfolgenden IV erhöht der Aufrufer den IV Member und stellt sicher, dass der Wert immer steigt. Mit diesem Verfahren kann die Anwendung überprüfen, ob derselbe IV nie mehr als einmal mit demselben Schlüsselpaar verwendet wird.

Bei anderen 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
mindestens unterstützte Client- Windows 8
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Desktop
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV