2

Vista でパフォーマンス監視 API を使用すると、奇妙な問題が発生します。私は現在、PdhGetFormattedCounterValue() に基づいて、XP/2k で正常に動作するコードを使用しています。PdhExpandWildCardPath を使用してカウンターを拡張することから始めます (全体的なネットワーク統計に興味があります)。私が見ているカウンターは次のとおりです。

\\Network Interface(*)\\Bytes Received/sec
\\Network Interface(*)\\Bytes Sent/sec
\\Processor(_Total)\\% プロセッサ時間

問題は、最初の呼び出しで PDH_INVALID_DATA が返されることです。もう一度クエリを実行すると、エラーなしでデータの取得が開始されるため、これは問題ではないと思います。問題はこれです。プロセッサ時間は期待どおりに動作しているのに、どちらのネットワーク インターフェイス カウンタも何も返さず、常に 0 のままです。Perfmon を使用して、データが正常に報告されていることを確認したので、何が問題なのか途方に暮れています。私はMSでこれを捕まえました:

http://support.microsoft.com/?scid=kb%3Ben-us%3B287159&x=11&y=9

しかし、私は自分の仕事で多言語に興味がないので、これは関係ないと思います。私がやっていることを正確に示すいくつかの基本的なコードを考え出すことができるかどうか見ていきますが、何か奇妙なことを返すものは何もなく、XP/2k で動作したので、ボンネットの下で何かが変更されたのではないかと思います。ありがとう!

4

1 に答える 1