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 存储有关计数器规范的信息所需的缓冲区大小(以字节为单位)。 将缓冲区放大到所需的 调整大小,然后再次调用函数。 |
其他 | 该值未定义,不应使用。 |
返回值
返回代码 | 说明 |
---|---|
|
函数已成功将有关计数器规范的所有信息存储在 pCounters 指定的缓冲区中。 用于指示实际存储在缓冲区中的信息量(以字节为单位)的。 |
|
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 |