2010-11-29 65 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不可能做出的价值判断,因为这些数据对它是透明的。

相关问题