次の方法で共有


PFND3D11_1DDI_CREATEVIDEODECODER コールバック関数 (d3d10umddi.h)

ビデオ デコーダー オブジェクトを作成します。

構文

PFND3D11_1DDI_CREATEVIDEODECODER Pfnd3d111DdiCreatevideodecoder;

HRESULT Pfnd3d111DdiCreatevideodecoder(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11_1DDIARG_CREATEVIDEODECODER *unnamedParam2,
  D3D11_1DDI_HDECODE unnamedParam3,
  D3D11_1DDI_HRTDECODE unnamedParam4
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。

unnamedParam2

pCreateData [in]

D3D11_1DDIARG_CREATEVIDEODECODER構造体へのポインター。 この構造体は、作成するビデオ デコーダー オブジェクトの属性を指定します。

unnamedParam3

hDecode [in]

ビデオ デコーダー オブジェクトのドライバーのプライベート データへのハンドル。

unnamedParam4

hRTDecode [in]

ドライバーがランタイムに呼び出すときに使用するビデオ デコーダー オブジェクトへのハンドル。

戻り値

CreateVideoDecoder は 、次のいずれかの値を返します。

リターン コード 説明
S_OK ビデオ デコーダー オブジェクトが正常に作成されました。
D3DDDIERR_DEVICEREMOVED グラフィックス アダプターが削除されました。
E_OUTOFMEMORY 操作を完了するためにメモリを使用できませんでした。

注釈

Microsoft Direct3D ランタイムは、ドライバーの CalcPrivateVideoDecoderSize を呼び出した後、CreateVideoDecoder を呼び出して、ドライバーがビデオ デコーダー オブジェクトに必要なプライベート データのサイズをバイト単位で決定します。 ランタイムは、ドライバーのこのプライベート データのメモリを割り当てます。 ドライバーは、このメモリを使用して、ビデオ デコーダー オブジェクトに関連するプライベート データを格納します。

ランタイムが CreateVideoDecoder を呼び出すと、 hDecoder パラメーターのプライベート データ メモリにハンドルが渡されます。 このハンドルは、実際にはメモリへのポインターです。

ドライバーは、暗号化セッションの作成に使用されたディスプレイ デバイスへのハンドルを追跡する必要があります。 ビデオ デコーダーの作成に使用されたディスプレイ デバイスと、これらの呼び出しで指定されたディスプレイ デバイスが異なる場合、ドライバーは、 VideoDecoderBeginFrame など、この作成された暗号化セッションを使用する後続のすべての呼び出しに失敗する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

CalcPrivateVideoDecoderSize

D3D11_1DDIARG_CREATEVIDEODECODER

NegotiateCryptoSessionKeyExchange

VideoDecoderBeginFrame