PdhAddEnglishCounterW 函数 (pdh.h)
将指定的非特定语言计数器添加到查询。
语法
PDH_FUNCTION PdhAddEnglishCounterW(
[in] PDH_HQUERY hQuery,
[in] LPCWSTR 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 结构的 dwQueryUserData 成员。
[out] phCounter
添加到查询的计数器的句柄。 可能需要在后续调用中引用此句柄。
返回值
如果函数成功,则返回ERROR_SUCCESS。
如果函数失败,则返回值为 系统错误代码 或 PDH 错误代码。 以下是可能的值。
返回代码 | 描述 |
---|---|
|
无法分析或解释计数器路径。 |
|
无法在计算机或日志文件中找到指定的计数器。 |
|
计数器路径为空。 |
|
路径不包含计算机名,函数无法检索本地计算机名称。 |
|
无法在计算机或日志文件中找到指定的对象。 |
|
无法确定要用于此计数器的计算函数。 |
|
一个或多个参数无效。 |
|
查询句柄无效。 |
|
无法分配完成函数所需的内存。 |
言论
此函数提供了一种非特定语言的方式,用于向查询添加性能计数器。 相比之下,必须在 PdhAddCounter 函数中指定的计数器路径进行本地化。
如果指定了尚不存在的计数器实例,PdhAddEnglishCounter 不会报告错误条件。 而是返回ERROR_SUCCESS。 此行为的原因是,目前还不清楚是否指定了不存在的计数器实例,或者是否存在计数器实例,但尚未创建。
若要从查询中删除计数器,请使用 PdhRemoveCounter 函数。
- 进行查询
- 将 PdhAddEnglishCounter 与包含通配符的字符串配合使用
- 在 PdhAddEnglishCounter 返回的计数器句柄上使用 PdhGetCounterInfo 获取本地化的完整路径(szFullPath.)此字符串仍包含通配符,但非通配符部分现已本地化。
- 使用 PdhExpandWildCardPath 展开通配符。
- 在每个生成的路径上使用 PdhAddCounter
注意
pdh.h 标头将 PdhAddEnglishCounter 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | pdh.h |
库 | Pdh.lib |
DLL | Pdh.dll |