PdhCollectQueryData 函数 (pdh.h)
收集指定查询中所有计数器的当前原始数据值,并更新每个计数器的状态代码。
语法
PDH_FUNCTION PdhCollectQueryData(
[in, out] PDH_HQUERY hQuery
);
参数
[in, out] hQuery
要为其收集数据的查询的句柄。 PdhOpenQuery 函数返回此句柄。
返回值
如果函数成功,则返回ERROR_SUCCESS。 否则,函数将返回 系统错误代码 或 PDH 错误代码。
下面是可能的值。
返回代码 | 说明 |
---|---|
|
查询句柄无效。 |
|
查询当前不包含任何计数器。 查询可能不包含数据,因为用户未使用提升的令牌运行, (请参阅 受限用户访问支持) 。 |
注解
如果要收集查询中计数器的计数器数据,请调用此函数。 PDH 存储当前和上一个集合的原始计数器值。
如果要检索当前原始计数器值,请调用 PdhGetRawCounterValue 函数。 如果要计算计数器值的可显示值,请调用 PdhGetFormattedCounterValue 函数。 如果计数器路径包含实例名称的通配符,请分别调用 PdhGetRawCounterArray 和 PdhGetFormattedCounterArray 函数。
如果仅为一个计数器实例中的数据调用 PdhCollectQueryData 并且计数器实例不存在,则函数将返回PDH_NO_DATA。 但是,如果查询来自多个计数器的数据, PdhCollectQueryData 可能会返回ERROR_SUCCESS,即使其中一个计数器实例尚不存在。 这是因为不知道指定的计数器实例是否不存在,或者它是否存在但尚未创建。 在这种情况下,请为每个感兴趣的计数器实例调用 PdhGetRawCounterValue 或 PdhGetFormattedCounterValue ,以确定它们是否存在。
下面显示了从 Visual Basic 调用此函数的语法。
PdhCollectQueryData(
ByVal QueryHandle as Long
)
as Long
示例
有关示例,请参阅 浏览性能计数器 或 从日志文件读取性能数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | pdh.h |
Library | Pdh.lib |
DLL | Pdh.dll |