PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Rückruffunktion (d3d10umddi.h)

Startet einen DXVA-Decodierungsvorgang (DirectX Video Acceleration), 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 Videodecoder-Objekt, das durch einen Aufruf der CreateVideoDecoder-Funktion erstellt wurde.

pBeginFrame

Ein Zeiger auf eine D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0-Struktur. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

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 Arbeitsspeicher war nicht verfügbar, um den Vorgang abzuschließen.

Hinweise

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

Hinweis

Jeder Aufruf von VideoDecoderBeginFrame muss über einen entsprechenden Aufruf von 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 das pContentKey-Element dieser Struktur nicht auf NULL festgelegt ist, enthält der Puffer, auf den dieses Element verweist, einen Pro-Frame-Inhaltsschlüssel. Dieser Schlüssel muss verwendet werden, um die Daten zu entschlüsseln, anstatt den Sitzungsschlüssel zu verwenden.

Hinweis

Wenn das pContentKey-Element 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

Weitere Informationen

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange