如何从PdhExpandWildCardPath的结果中确定主networking适配器?

我的目标是使用Windows性能计数器API来衡量每秒接收的平均字节数。 我的问题是,当有多个networking适配器时,我不知道哪一个是“主要”networking适配器(即用于Internet和LANstream量的那个)。

我可以将“\ Network Interface(*)\ Bytes Received / sec”传递给PdhExpandWildCardPath()并返回一个列表,但该列表似乎是按字母顺序排列的,而不是路由顺序。 和PdhExpandWildCardPath()返回的名称似乎不是WMIfunction使用的相同 – Pdh似乎添加“数据包计划程序Miniport” – 所以即使我去了那条路线,我不知道如何关联来自不同API的信息。

哪个网络适配器是“主要”是一个定性判断。 一台计算机可能同时具有板载无线802.11和有线以太网适配器,其中任何一个在任何给定时间(甚至同时)都可以是主要的。

您可能将不得不使用IP Helper API来确定您的首选项,并将其与PerfMon输出相关联。 或者你可以选择一个活动最多的活动,并称之为主要活动。 这只是PerfMon不可能做出的那种价值判断,因为这些数据是透明的。