PFND3DDDI_CREATEQUERY回调函数 (d3dumddi.h)

CreateQuery 函数为 Microsoft Direct3D 运行时随后要处理的查询创建驱动程序端资源。

语法

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

HRESULT Pfnd3dddiCreatequery(
  HANDLE hDevice,
  D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}

参数

hDevice

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

unnamedParam2

pData [in, out]

指向标识查询 的D3DDDIARG_CREATEQUERY 结构的指针。

返回值

CreateQuery 返回以下值之一:

返回代码 说明
S_OK 已成功创建查询。
E_OUTOFMEMORY CreateQuery 无法分配完成所需的内存。

注解

Direct3D 运行时使用查询类型调用用户模式显示驱动程序的 CreateQuery 函数,以便为查询创建资源。 用户模式显示驱动程序为查询类型创建以下资源:

  • BOOL for D3DDDIQUERYTYPE_EVENT。 在响应有关事件之前,驱动程序必须确保图形处理单元 (GPU) 已完成与事件相关的所有操作的处理。 也就是说,驱动程序在问题结束状态发生后响应事件。 响应时,驱动程序必须始终将事件的 BOOL 值设置为 TRUE
  • UINT for D3DDDIQUERYTYPE_OCCLUSION。 驱动程序将此 UINT 变量设置为 z-test 为问题查询的开始和结束状态之间的所有基元传递的像素数。 如果深度缓冲区是多重采样的,驱动程序将确定样本数中的像素数。 但是,如果显示设备能够针对每个多重采样进行 z 测试准确度,则通常应向上舍入到像素数的转换。 然后,应用程序可以针对 0 检查遮挡结果,以有效地表示“完全遮挡”。 将多采样数量转换为像素量的驱动程序应检测呈现目标多重采样更改,并继续相应地计算查询结果。
  • D3DDDIQUERYTYPE_VCACHE的D3DDDIDEVINFO_VCACHE结构。 驱动程序在问题结束状态出现后做出响应。
有关问题查询状态的详细信息,请参阅 D3DDDI_ISSUEQUERYFLAGS

要求

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

另请参阅

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS