2

我正在尝试使用 pdh.h 计算 windows 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);

我从这里获得了 COUNTER_PATH 名称,示例可以在这里找到。但不知何故,我在 PdhAddCounter 收到0xC0000BC0 (PDH_CSTATUS_BAD_COUNTERNAME)错误消息。任何人都可以接受我犯的任何错误吗?我不确定我在这里缺少什么。COUNTER_PATH 有什么问题吗?

4

1 回答 1

2

你正在铸造一个COUNTER_PATH你不应该做的事情。LPCSTRPdhAddCounter

PdhAddCounter的第二个参数是 a LPCTSTR,与 相同CONST PWSTR

于 2012-05-22T16:45:49.977 回答