PerfQueryCounterData 函数 (perflib.h)
获取与指定查询中的计数器规范匹配的性能计数器的值。
语法
ULONG PerfQueryCounterData(
[in] HANDLE hQuery,
[out, optional] PPERF_DATA_HEADER pCounterBlock,
DWORD cbCounterBlock,
[out] LPDWORD pcbCounterBlockActual
);
parameters
[in] hQuery
要获取其值的性能计数器的计数器规范查询的句柄。
[out, optional] pCounterBlock
指向缓冲区的指针,该缓冲区具有足够的空间来接收 cbCounterBlock 参数指定的数据量(以字节为单位)。 如果
cbCounterBlock 为 0。
cbCounterBlock
pCounterBlock 参数指定的缓冲区大小(以字节为单位)。
[out] pcbCounterBlockActual
获取性能计数器值实际所需的缓冲区大小。 含义取决于函数的值
返回。
函数返回值 | 线路板计数法的含义 |
---|---|
ERROR_SUCCESS | 的数量 函数存储在 pCounterBlock 指定的缓冲区中的性能计数器值的字节。 |
ERROR_NOT_ENOUGH_MEMORY | The 存储性能计数器值所需的缓冲区大小(以字节为单位)。 将缓冲区放大到所需的 调整大小,然后再次调用函数。 |
其他 | 该值未定义,不应使用。 |
返回值
返回代码 | 说明 |
---|---|
|
函数成功将所有请求的性能计数器值存储在 pCounterBlock 指定的缓冲区中。 用于指示实际存储在缓冲区中的信息量(以字节为单位) 的。由其 指向的 。 |
|
pCounterBlock 指定的缓冲区不够大,无法存储所有请求的性能计数器值。 用于指示存储所有信息所需的缓冲区大小。 将缓冲区放大到所需的 调整大小,然后再次调用函数。 |
对于其他类型的故障,返回值为 系统错误代码。
注解
有关性能计数器值的信息将写入 pCounterBlock 指定为 PERF_DATA_HEADER 块的缓冲区,该缓冲区由 PERF_DATA_HEADER 结构后跟 PERF_COUNTER_HEADER 块序列组成。
要求
最低受支持的客户端 | Windows 10版本 1607 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | perflib.h |
Library | AdvAPI32.lib |
DLL | AdvAPI32.dll |