pdhAddCounterA 函数 (pdh.h)
将指定的计数器添加到查询。
语法
PDH_FUNCTION PdhAddCounterA(
[in] PDH_HQUERY hQuery,
[in] LPCSTR szFullCounterPath,
[in] DWORD_PTR dwUserData,
[out] PDH_HCOUNTER *phCounter
);
参数
[in] hQuery
要向其添加计数器的查询的句柄。 此句柄由 PdhOpenQuery 函数返回。
[in] szFullCounterPath
包含计数器路径的以 Null 结尾的字符串。 有关计数器路径格式的详细信息,请参阅 指定计数器路径。 计数器路径的最大长度为PDH_MAX_COUNTER_PATH。
[in] dwUserData
用户定义的值。 此值将成为计数器信息的一部分。 若要稍后检索此值,请调用 PdhGetCounterInfo 函数并访问 PDH_COUNTER_INFO 结构的 dwUserData 成员。
[out] phCounter
添加到查询的计数器的句柄。 可能需要在后续调用中引用此句柄。
返回值
如果函数成功,则返回ERROR_SUCCESS。
如果函数失败,则返回值为 系统错误代码 或 PDH 错误代码。 以下是可能的值。
返回代码 | 说明 |
---|---|
|
无法分析或解释计数器路径。 |
|
在计算机上或日志文件中找不到指定的计数器。 |
|
计数器路径为空。 |
|
路径不包含计算机名称,并且函数无法检索本地计算机名称。 |
|
在计算机上或日志文件中找不到指定的对象。 |
|
无法确定要用于此计数器的计算函数。 |
|
一个或多个参数无效。 |
|
查询句柄无效。 |
|
无法分配完成函数所需的内存。 |
注解
如果计数器路径包含通配符,则与通配符匹配的所有计数器名称都会添加到查询中。
如果指定的计数器实例尚不存在, 则 PdhAddCounter 不会报告错误条件。 而是返回ERROR_SUCCESS。 出现此行为的原因是,不知道是否已指定不存在的计数器实例,或者该计数器实例是否存在但尚未创建。
若要从查询中删除计数器,请使用 PdhRemoveCounter 函数。
示例
有关示例,请参阅 浏览性能计数器 或 从日志文件读取性能数据。
注意
pdh.h 标头将 PdhAddCounter 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | pdh.h |
Library | Pdh.lib |
DLL | Pdh.dll |