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) |