Freigeben über


PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Rückruffunktion (d3d10umddi.h)

Startet einen DirectX Video Acceleration (DXVA)-Decodierungsvorgang, um einen Videoframe zu decodieren.

Syntax

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HDECODE hDecode,
  const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}

Parameter

hDevice

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

hDecode

Ein Handle für das Videodecoderobjekt, das über einen Aufruf der CreateVideoDecoder-Funktion erstellt wurde.

pBeginFrame

Ein Zeiger auf eine D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 Struktur. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Rückgabewert

Gibt einen der folgenden HRESULT-Werte zurück:

Rückgabecode Beschreibung
S_OK Der Sitzungsschlüssel für die kryptografische Sitzung wurde erfolgreich ausgehandelt.
E_OUTOFMEMORY Der Arbeitsspeicher war nicht verfügbar, um den Vorgang abzuschließen.

Bemerkungen

Wenn diese Funktion S_OK zurückgibt, ruft die Microsoft Direct3D-Laufzeit die VideoDecoderSubmitBuffers-Funktion auf, um die Decodierungsvorgänge auszuführen. Wenn alle Decodierungsvorgänge ausgeführt wurden, ruft die Laufzeit die VideoDecoderEndFrame-Funktion auf, um den Decodierungsvorgang in einem Videoframe zu beenden.

Anmerkung

Jeder Aufruf von VideoDecoderBeginFrame muss über einen übereinstimmenden Aufruf an VideoDecoderEndFrame verfügen, und VideoDecoderBeginFrame-Aufrufe können nicht geschachtelt werden.

Die D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 Struktur enthält die folgenden Daten:

  • Die Ressource, die die entschlüsselten und decodierten Daten empfängt.
  • Ein Inhaltsschlüssel, der zum Verschlüsseln der Videoframedaten verwendet wurde.

Wenn der pContentKey Member dieser Struktur nicht auf NULL festgelegt ist, enthält der Puffer, auf den dieses Element verweist, einen Inhaltsschlüssel pro Frame. Dieser Schlüssel muss verwendet werden, um die Daten zu entschlüsseln, anstatt den Sitzungsschlüssel zu verwenden.

Anmerkung

Wenn der pContentKey Member nicht auf NULL festgelegt ist, wird der Puffer, auf den dieses Element verweist, mithilfe des Sitzungsschlüssels mit dem AES-ECB Algorithmus verschlüsselt.

Wenn das pContentKey-Element auf NULL festgelegt ist, sollten die Videoframedaten mithilfe des Sitzungsschlüssels entschlüsselt werden.

Anforderungen

Anforderung Wert
Header- d3d10umddi.h

Siehe auch

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange