次の方法で共有


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
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

CalcPrivateVideoDecoderSize

D3D11_1DDIARG_CREATEVIDEODECODER

NegotiateCryptoSessionKeyExchange

VideoDecoderBeginFrame