2010-11-29 83 views
1

我的目標是使用Windows性能計數器API來衡量每秒接收的平均字節數。我的問題是,當有多個網絡適配器時,我不知道哪一個是「主要」網絡適配器(即用於Internet和LAN通信的網絡適配器)。如何確定PdhExpandWildCardPath結果中的主網絡適配器?

我可以將「\ Network Interface(*)\ Bytes Received/sec」傳遞給PdhExpandWildCardPath()並返回一個列表,但該列表似乎是按字母順序排列的,而不是路由順序。而且PdhExpandWildCardPath()返回的名稱看起來與WMI函數使用的名稱不同--Pdh似乎添加了「Packet Scheduler Miniport」 - 所以即使我去了那條路線,我也不知道如何去關聯來自不同API的信息。

回答

1

哪個網絡適配器是「主要」是一種定性判斷。計算機可能同時具有板載無線802.11和有線以太網適配器,其中任何一個在任何給定時間(甚至同時)都可以是主要的。

您可能將不得不使用IP Helper API來確定您更喜歡哪一種,並將其與PerfMon輸出相關聯。或者您可以選擇活動最多的活動並將其稱爲主要活動。這只是PerfMon不可能做出的價值判斷,因爲這些數據對它是透明的。

相關問題