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

存储性能计数器值所需的缓冲区大小(以字节为单位)。 将缓冲区放大到所需的

调整大小,然后再次调用函数。

其他 该值未定义,不应使用。

返回值

返回代码 说明
ERROR_SUCCESS
函数成功将所有请求的性能计数器值存储在 pCounterBlock 指定的缓冲区中。 用于指示实际存储在缓冲区中的信息量(以字节为单位) 的。由其 指向的 。
ERROR_NOT_ENOUGH_MEMORY
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

请参阅

PERF_COUNTER_HEADER

PERF_DATA_HEADER