2010-11-29 14 views
1

私の目標は、WindowsパフォーマンスカウンターAPIを使用して1秒あたりに受信された平均バイト数を測定することです。私の問題は、複数のネットワークアダプタがある場合、どちらが「プライマリ」なのか(インターネットとLANトラフィックに使用されているのか)わかりません。PdhExpandWildCardPathの結果のプライマリネットワークアダプタを特定する方法は?

PdhExpandWildCardPath()に "\ Network Interface(*)\ Bytes Received/sec"を渡してリストを取得できますが、そのリストはルーティング順ではなくアルファベット順であるようです。 PdhExpandWildCardPath()によって返される名前は、WMI関数が使用する名前と同じではないようです.Pdhが "Packet Scheduler Miniport"を追加するようです。そのルートに行ったとしても、どのように異なるAPIからの情報を相関させる。

答えて

1

どのネットワークアダプタが「プライマリ」であるかは定性的な判断です。コンピュータには、オンボードのワイヤレス802.11と有線イーサネットアダプタの両方が搭載されていてもよく、そのいずれかが任意の時点(または同時に)でもプライマリになる可能性があります。

おそらく、IP Helper APIを使用して、どちらを優先してPerfMon出力と関連付ける必要があるのでしょうか。または、最も活動の多いものを選んでそれをプライマリと呼ぶことができます。これはPerfMonが可能な限りの価値判断ではありません。これらの統計情報は透過的です。

関連する問題