PerfQueryCounterInfo 函数 (perflib.h)

获取指定查询中的计数器规范。

语法

ULONG PerfQueryCounterInfo(
  [in]            HANDLE                   hQuery,
  [out, optional] PPERF_COUNTER_IDENTIFIER pCounters,
                  DWORD                    cbCounters,
  [out]           LPDWORD                  pcbCountersActual
);

参数

[in] hQuery

要获取其计数器规范的查询的句柄

[out, optional] pCounters

指向缓冲区的指针,该缓冲区足够大,可以保存 cbCounters 参数指定的数据量(以字节为单位)。 如果 cbCounters 为 0,则可能为 NULL。

cbCounters

pCounters 缓冲区的大小(以字节为单位)。

[out] pcbCountersActual

获取计数器规范所需的缓冲区大小。 含义取决于函数的值

返回。

函数返回值 印刷品代表的含义
ERROR_SUCCESS 的数量

有关函数存储在 pCounters 指定的缓冲区中的计数器规范的信息字节。

ERROR_NOT_ENOUGH_MEMORY The

存储有关计数器规范的信息所需的缓冲区大小(以字节为单位)。 将缓冲区放大到所需的

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

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

返回值

返回代码 说明
ERROR_SUCCESS
函数已成功将有关计数器规范的所有信息存储在 pCounters 指定的缓冲区中。 用于指示实际存储在缓冲区中的信息量(以字节为单位)的。
ERROR_NOT_ENOUGH_MEMORY
pCounters 指定的缓冲区不够大,无法存储有关计数器规范的所有信息。 用于指示存储所有信息所需的缓冲区大小。 将缓冲区放大到所需的

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

 

对于其他类型的故障,返回值为 系统错误代码

注解

有关计数器规范的信息将写入 pCounters 指定为 PERF_COUNTER_IDENTIFIER 块序列的缓冲区。 的大小(以字节为单位)

块的序列将写入到“印刷机”“帐户”“操作”。 每个 PERF_COUNTER_IDENTIFIER 块都由

的 PERF_COUNTER_IDENTIFIER 结构,可以选择后跟以 null 结尾的 UTF-16LE

实例名称,后跟填充,使 的大小

PERF_COUNTER_IDENTIFIER 块是 8 个字节的倍数。 每个块的大小(包括PERF_COUNTER_IDENTIFIER结构、实例名称和填充)由PERF_COUNTER_IDENTIFIER结构的 Size 成员决定,该成员将是 8 个字节的倍数。

要求

要求
最低受支持的客户端 Windows 10版本 1607 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 perflib.h
Library AdvAPI32.lib
DLL AdvAPI32.dll

另请参阅

PERF_COUNTER_IDENTIFIER