user945216
user945216

Reputation: 251

Bad counter path, pdhAddCounter; performance monitor in windows

I'm trying to count the number of processes on windoes 2008 server using pdh.h.

    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);

I got the COUNTER_PATH name from here, and the example can be found in here. But somehow I'm getting 0xC0000BC0 (PDH_CSTATUS_BAD_COUNTERNAME) error message at PdhAddCounter. Can anybody pick up any mistake I made? I'm not sure what I'm missing here. Is there anything wrong with COUNTER_PATH?

Upvotes: 2

Views: 1654

Answers (1)

Fraser
Fraser

Reputation: 78330

You're casting COUNTER_PATH to a LPCSTR in PdhAddCounter which you shouldn't be doing.

PdhAddCounter's second parameter is a LPCTSTR which is the same as CONST PWSTR.

Upvotes: 2

Related Questions