我试图计算使用pdh.h的windoes 2008服务器上的进程数。
CONST PWSTR COUNTER_PATH = L"\\System\\Processes";
HQUERY hQuery = NULL;
HCOUNTER hCounter;
PDH_STATUS pdhStatus = ERROR_SUCCESS;
pdhStatus = PdhOpenQuery(NULL, 0, &hQuery);
pdhStatus = PdhAddCounter(hQuery, (LPCSTR)COUNTER_PATH, 0, &hCounter);
我从here获得了COUNTER_PATH名称,该示例可以在here中找到。但是不知何故,我在PdhAddCounter上收到0xC0000BC0 (PDH_CSTATUS_BAD_COUNTERNAME)错误消息。有人能拾起我犯的任何错误吗?我不确定我在这里缺少什么。 COUNTER_PATH有什么问题吗?
最佳答案
您正在将COUNTER_PATH
强制转换为LPCSTR
中的PdhAddCounter
,而不应该这样做。PdhAddCounter
的第二个参数是LPCTSTR
,与CONST PWSTR
相同。
关于c++ - 错误的计数器路径,pdhAddCounter; Windows中的性能监视器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10706248/