ID3D11VideoContext::EncryptionBlt-Methode (d3d11.h)

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

Syntax

void EncryptionBlt(
  [in] ID3D11CryptoSession *pCryptoSession,
  [in] ID3D11Texture2D     *pSrcSurface,
  [in] ID3D11Texture2D     *pDstSurface,
  [in] UINT                IVSize,
  [in] void                *pIV
);

Parameter

[in] pCryptoSession

Ein Zeiger auf die ID3D11CryptoSession-Schnittstelle der kryptografischen Sitzung.

[in] pSrcSurface

Ein Zeiger auf die ID3D11Texture2D-Schnittstelle der geschützten Oberfläche.

[in] pDstSurface

Ein Zeiger auf die ID3D11Texture2D-Schnittstelle der Oberfläche, die die verschlüsselten Daten empfängt.

[in] IVSize

Die Größe des pIV-Puffers in Bytes.

[in] pIV

Ein Zeiger auf einen Puffer, der den Initialisierungsvektor (IV) empfängt. Der Aufrufer ordnet diesen Puffer zu, aber der Treiber generiert den IV.

Bei der 128-Bit-AES-CTR-Verschlüsselung verweist pIV auf eine D3D11_AES_CTR_IV-Struktur . Wenn der Treiber den ersten IV generiert, initialisiert er die Struktur in einer Zufallszahl. Für jeden nachfolgenden IV erhöht der Fahrer einfach den IV-Member der Struktur, um sicherzustellen, dass der Wert immer steigt. Die Anwendung kann überprüfen, ob dieselbe IV nie mehr als einmal mit demselben Schlüsselpaar verwendet wird.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Nicht alle Treiber unterstützen diese Methode. Um die Treiberfunktionen abzufragen, rufen Sie ID3D11VideoDevice::GetContentProtectionCaps auf, und suchen Sie im Caps-Member der D3D11_VIDEO_CONTENT_PROTECTION_CAPS-Struktur nach dem Flag D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK.

Einige Treiber erfordern möglicherweise einen separaten Schlüssel, um die zurückgelesenen Daten zu entschlüsseln. Um diese Anforderung zu überprüfen, rufen Sie GetContentProtectionCaps auf , und suchen Sie nach dem flag D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY . Wenn dieses Flag vorhanden ist, rufen Sie ID3D11VideoContext::GetEncryptionBltKey auf, um den Entschlüsselungsschlüssel abzurufen.

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

  • Das Zurücklesen von Unterrechtecken wird nicht unterstützt.
  • Das Zurücklesen teilweise verschlüsselter Oberflächen wird nicht unterstützt.
  • 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 D3D11_USAGE_STAGING-Ressource sein.
  • Die geschützte Oberfläche kann nicht mehrfach gesampt werden.
  • Dehnung und Farbraumkonvertierung werden nicht unterstützt.

Diese Funktion berücksichtigt kein D3D11-Prädikat, das möglicherweise festgelegt wurde.

Wenn die Anwendung D3D11-Abfragen verwendet, wird diese Funktion möglicherweise nicht mit D3D11_QUERY_EVENT und D3D11_QUERY_TIMESTAMP bei Verwendung von Featureebenen unter 11 berücksichtigt. D3D11_QUERY_PIPELINE_STATISTICS enthält diese Funktion für keine Featureebene.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3d11.h

Weitere Informationen

ID3D11VideoContext