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 位 函数中。 有关 函数位设置的含义的详细信息,请参阅 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)

另请参阅

CreateExtensionDevice

D3DDDIARG_DECODEEXTENSIONEXECUTE

D3DDDI_DEVICEFUNCS