PFND3D10DDI_CHECKCOUNTER回调函数 (d3d10umddi.h)

CheckCounter 函数检索描述计数器的信息。

语法

PFND3D10DDI_CHECKCOUNTER Pfnd3d10ddiCheckcounter;

void Pfnd3d10ddiCheckcounter(
            D3D10DDI_HDEVICE unnamedParam1,
            D3D10DDI_QUERY unnamedParam2,
            D3D10DDI_COUNTER_TYPE *unnamedParam3,
            UINT *unnamedParam4,
            LPSTR unnamedParam5,
  [in, out] UINT *pNameLength,
            LPSTR unnamedParam7,
  [in, out] UINT *pUnitsLength,
            LPSTR unnamedParam9,
  [in, out] UINT *pDescriptionLength
)
{...}

参数

unnamedParam1

hDevice [in]

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

unnamedParam2

查询 [in]

一个D3D10DDI_QUERY类型的值,用于标识为其检索信息的计数器标识符。

unnamedParam3

pCounterType [out]

指向变量的指针,该变量从标识计数器输出的数据类型的D3D10DDI_COUNTER_TYPE枚举接收以下值之一。

含义
D3D10DDI_COUNTER_TYPE_FLOAT32 单精度浮点数
D3D10DDI_COUNTER_TYPE_UINT16 16 位值
D3D10DDI_COUNTER_TYPE_UINT32 32 位值
D3D10DDI_COUNTER_TYPE_UINT64 64 位值

unnamedParam4

pDescription [out]

驱动程序返回以 NULL 结尾的字符串的指针,其中包含计数器标识符度量值的说明。

unnamedParam5

pActiveCounters [out]

指向变量的指针,该变量接收为创建 Query 标识的计数器标识符而分配的同时活动计数器的数目。

[in, out] pNameLength

指向变量的指针,该变量接收 pName 参数指定的以 NULL 结尾的字符串的大小(以字节为单位)。

unnamedParam7

pName [out]

驱动程序返回包含计数器标识符名称的以 NULL 结尾的字符串的指针。

[in, out] pUnitsLength

指向变量的指针,该变量接收 pUnits 参数指定的以 NULL 结尾的字符串的大小(以字节为单位)。

unnamedParam9

pUnits [out]

一个指针,驱动程序会将以 NULL 结尾的字符串返回到 ,其中包含计数器标识符度量的单位的名称。

[in, out] pDescriptionLength

指向变量的指针,该变量接收 pDescription 参数指定的以 NULL 结尾的字符串的大小(以字节为单位)。

返回值

备注

驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。

如果 CheckCounterQuery 参数指定设备不支持的已知计数器,驱动程序的 CheckCounter函数可以调用 pfnSetErrorCb 回调函数来设置ERR_UNSUPPORTED错误代码。

驱动程序必须验证设备相关的计数器标识符,以确保标识符在范围内。 驱动程序还必须确保有足够的空间将每个计数器字符串复制到 Microsoft Direct3D 运行时提供的每个缓冲区中。 如果没有足够的空间容纳任何提供的缓冲区,驱动程序可以调用 pfnSetErrorCb 回调函数来设置E_INVALIDARG错误代码。

驱动程序的 CheckCounter 函数无法调用 pfnSetErrorCb 回调函数来设置D3DDDIERR_DEVICEREMOVED错误代码,因为 CheckCounter 是一种功能检查类型的函数。 驱动程序必须确保在创建设备后具有足够的信息来响应 对 CheckCounter 的调用,即使在存在D3DDDIERR_DEVICEREMOVED的情况下也是如此。

要求

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

另请参阅

D3D10DDI_DEVICEFUNCS

D3D10DDI_QUERY

pfnSetErrorCb