PerfAddCounters 函数 (perflib.h)
将性能计数器规范添加到指定的查询。
语法
ULONG PerfAddCounters(
[in] HANDLE hQuery,
[in, out] PPERF_COUNTER_IDENTIFIER pCounters,
DWORD cbCounters
);
parameters
[in] hQuery
要向其添加性能计数器规范的查询的句柄。
[in, out] pCounters
指向要添加的性能计数器规范的指针。
cbCounters
pCounters 参数指定的缓冲区的大小(以字节为单位)。
返回值
如果函数成功,则返回ERROR_SUCCESS。
如果函数失败,则返回值为 系统错误代码。
注解
pCounters 参数应指向PERF_COUNTER_IDENTIFIER块的序列。 每个 PERF_COUNTER_IDENTIFIER 块由 一个PERF_COUNTER_IDENTIFIER 结构组成,后跟一个以 null 结尾的 UTF-16LE 实例名称字符串,后跟填充,使块的大小为 8 字节的倍数。
对于每个 PERF_COUNTER_IDENTIFIER 块:
- 将 PERF_COUNTER_IDENTIFIER 结构的 CounterSetGuid 成员设置为要查询的计数器集的标识符。
- 将PERF_COUNTER_IDENTIFIER结构的 Status 成员设置为 0。
- 将 PERF_COUNTER_IDENTIFIER 结构的 Size 成员设置为PERF_COUNTER_IDENTIFIER块的大小(以字节为单位),包括PERF_COUNTER_IDENTIFIER结构、实例名称和填充。 Size 的值必须是 8 的倍数。
- 将 PERF_COUNTER_IDENTIFIER 结构的 CounterId 成员设置为查询应返回的计数器的标识符。 若要返回所有计数器,请将 CounterId 设置为 PERF_WILDCARD_COUNTER。
- 将 PERF_COUNTER_IDENTIFIER 结构的 InstanceId 成员设置为查询应返回的实例的标识符。 如果不应基于实例标识符执行筛选,请将 InstanceId 设置为 PERF_WILDCARD_COUNTER。
- 将PERF_COUNTER_IDENTIFIER结构的 Index 成员设置为 0。
- 将 PERF_COUNTER_IDENTIFIER 结构的保留成员设置为 0。
- 紧接在 PERF_COUNTER_IDENTIFIER 结构后面包括实例名称。
- 如果计数器集是单实例的,请不要设置实例名称。 在这种情况下, PERF_COUNTER_IDENTIFIER 结构的 Size 成员的值必须是 PERF_COUNTER_IDENTIFIER 结构的大小。
- 如果计数器集是多实例的,则必须设置实例名称。 如果不想基于实例名称筛选性能计数器规范,请使用 PERF_WILDCARD_INSTANCE 作为实例名称。
要求
最低受支持的客户端 | Windows 10版本 1607 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | perflib.h |
Library | AdvAPI32.lib |
DLL | AdvAPI32.dll |