PFND3DDDI_DECODEEXTENSIONEXECUTE回调函数 (d3dumddi.h)

DecodeExtensionExecute 函数使用给定的 Microsoft DirectX 视频加速器 (VA) 非标准解码设备来执行解码操作。

语法

PFND3DDDI_DECODEEXTENSIONEXECUTE Pfnd3dddiDecodeextensionexecute;

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

参数

hDevice

显示设备的句柄 (图形上下文) 。

unnamedParam2

pData [in, out]

指向描述要执行的 DirectX VA 解码操作 的 D3DDDIARG_DECODEEXTENSIONEXECUTE 结构的指针。

返回值

DecodeExtensionExecute 返回以下值之一:

返回代码 说明
S_OK 已成功执行 DirectX VA 解码操作。
E_OUTOFMEMORY DecodeExtensionExecute 无法分配完成所需的内存。

注解

用户模式显示驱动程序可以实现 DecodeExtensionExecute 函数,以支持标准解码类型的扩展, (即非标准解码 GUID) 。 这些非标准解码类型可用于配置加密和其他其他增强功能。

当 DirectX VA 2.0 解码器需要非标准扩展时,将调用 DecodeExtensionExecute

为了与可能需要这些非标准扩展的 DirectX VA 1.0 解码器兼容,每当 DirectX VA 1.0 解码器执行调用时,都会调用 DecodeExtensionExecute,其中任何大于 4 的bDXVA_Func值都设置在 D3DDDIARG_DECODEEXTENSIONEXECUTE 结构的 Function 成员的最有效 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之前进行此类配置调用,因此这些解码器也可以在创建解码设备之前进行此类配置调用。 如果在创建解码设备之前进行此类配置调用,则 pData 参数指向的 D3DDDIARG_DECODEEXTENSIONEXECUTE 结构的 hDecode 成员将设置为 NULL。 在这种情况下,驱动程序可能需要返回错误 (例如,E_FAIL) 驱动程序无法支持独立于解码设备的情况。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_DECODEEXTENSIONEXECUTE

D3DDDI_DEVICEFUNCS