2

pdh.hを使用して、windoes2008サーバー上のプロセスの数をカウントしようとしています。

    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_PATHLPCSTRPdhAddCounter

PdhAddCounterの2番目のパラメータは、LPCTSTRと同じCONST PWSTRです。

于 2012-05-22T16:45:49.977 に答える