次の方法で共有


PFND3DDDI_DECODEEXTENSIONEXECUTE コールバック関数 (d3dumddi.h)

DecodeExtensionExecute 関数は、指定された DirectX ビデオ アクセラレータ (DXVA) 非標準のデコード拡張デバイスを使用してデコード操作を実行します。

構文

PFND3DDDI_DECODEEXTENSIONEXECUTE Pfnd3dddiDecodeextensionexecute;

HRESULT Pfnd3dddiDecodeextensionexecute(
  HANDLE hDevice,
  const D3DDDIARG_DECODEEXTENSIONEXECUTE *unnamedParam2
)
{...}

パラメーター

hDevice

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

unnamedParam2

pData [in, out]

実行する DXVA デコード操作を記述する D3DDDIARG_DECODEEXTENSIONEXECUTE 構造体へのポインター。

戻り値

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

リターン コード 形容
S_OK DirectX VA デコード操作が正常に実行されました。
E_OUTOFMEMORY DecodeExtensionExecute が完了するために必要なメモリを割り当てませんでした。

備考

ユーザー モード ディスプレイ ドライバー (UMD) は、標準のデコードの種類 (つまり、非標準のデコード GUID) の拡張機能をサポートする DecodeExtensionExecute 関数を実装できます。 これらの非標準のデコードの種類は、暗号化やその他の拡張機能の構成に役立ちます。

DecodeExtensionExecute は、DirectX VA 2.0 デコーダーが非標準の拡張機能を必要とする場合に呼び出されます。

これらの非標準の拡張機能を必要とする DirectX VA 1.0 デコーダーとの互換性のために、DecodeExtensionExecute は、DirectX VA 1.0 デコーダーが実行呼び出しを行うたびに呼び出されます。この呼び出しでは、4 より大きいbDXVA_Func値が、D3DDDIARG_DECODEEXTENSIONEXECUTE 構造体の 関数 メンバーの最も重要な 8 ビットに設定されます。 DecodeExtensionExecute は、DirectX VA 1.0 デコーダーが構成呼び出しを行うたびに呼び出されます。この呼び出しでは、DXVA_QUERYORREPLYFUNCFLAG_DECODER_PROBE_QUERY (0xFFFFF1) またはDXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY (0xFFFFF5) フラグ以外のDXVA_ConfigQueryOrReplyFunc フラグが、Functionの最も重要な 24 ビットに設定されます。 関数のビット設定の意味の詳細については、「変数の DXVA_ConfigQueryOrReplyFlag とDXVA_ConfigQueryorReplyFuncの と変数 bDXVA_Func」トピックを参照してください。

DirectX VA 1.0 デコーダーとの互換性の問題により、このような構成呼び出しをDXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY前に行う可能性があるため、これらのデコーダーは、デコード デバイスが作成される前にもこのような構成呼び出しを行うことができます。 デコード デバイスが作成される前にこのような構成呼び出しが行われる場合、hDecodepData パラメーターが指す D3DDDIARG_DECODEEXTENSIONEXECUTE 構造体のメンバーは NULL に設定されます。 このような状況では、ドライバーがデコード デバイスに依存しない状況をサポートできない場合は、エラー (たとえば、E_FAIL) を返すドライバーが必要な場合があります。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

CreateExtensionDevice

D3DDDIARG_DECODEEXTENSIONEXECUTE

D3DDDI_DEVICEFUNCS