PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME_RS4_0 Rückruffunktion (d3d10umddi.h)

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

Syntax

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME_RS4_0 Pfnd3dwddm24DdiVideodecoderbeginframeRs40;

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframeRs40(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HDECODE hDecode,
  const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 *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 Der Arbeitsspeicher war zum Abschließen des Vorgangs nicht verfügbar.

Hinweise

Wenn diese Funktion S_OK zurückgibt, ruft die Microsoft Direct3D-Runtime die Funktion VideoDecoderSubmitBuffers 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 übereinstimmenden 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 Inhaltsschlüssel pro Frame. Dieser Schlüssel muss zum Entschlüsseln der Daten verwendet werden, 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