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) 可以實作 DecodeExtensionExecute 函式,以支援標準譯碼類型的擴充功能(也就是非標準譯碼 GUID)。 這些非標準譯碼類型有助於設定加密和其他增強功能。
當 DirectX VA 2.0 譯碼器需要非標準延伸模組時,就會呼叫 decodeExtensionExecute。
為了與可能需要這些非標準延伸模組的 DirectX VA 1.0 譯碼器相容,每當 DirectX VA 1.0 譯碼器發出執行呼叫時,每當 DirectX VA 1.0 譯碼器執行呼叫時,任何大於 4 的bDXVA_Func 值都會設定在 D3DDDIARG_DECODEEXTENSIONEXECUTE 結構中最重要的 8 位 函式 成員中。 每當 DirectX VA 1.0 譯碼器進行組態呼叫時,也會呼叫 decodeExtensionExecute,其中DXVA_QUERYORREPLYFUNCFLAG_DECODER_PROBE_QUERY (0xFFFFF1) 或 DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY (0xFFFFF5) 旗標以外的任何DXVA_ConfigQueryOrReplyFunc旗標都會設定在最重要的 24 位 Function中。 如需 函式位設定意義的詳細資訊,請參閱 DXVA_ConfigQueryOrReplyFlag 和DXVA_ConfigQueryorReplyFunc變數 和 bDXVA_Func 變數 主題。
由於 DirectX VA 1.0 譯碼器在DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY之前可能會進行這類設定呼叫的相容性問題,因此這些譯碼器也可以在建立譯碼裝置之前進行這類設定呼叫。 如果在建立譯碼裝置之前進行這類組態呼叫,hDecodeD3DDDIARG_DECODEEXTENSIONEXECUTE 結構的成員,pData 參數所指向的成員會設定為 NULL。 在此情況下,如果驅動程式無法支援與譯碼裝置無關的情況,可能需要驅動程式傳回錯誤(例如,E_FAIL)。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平臺 | 桌面 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |