2010-11-29 9 views
1

Mein Ziel ist es, die durchschnittlichen Bytes pro Sekunde mit der Windows-Leistungsindikator-API zu messen. Mein Problem ist, dass, wenn es mehrere Netzwerkadapter gibt, ich nicht weiß, welcher der "primäre" ist (d. H. Derjenige, der für den Internet- und LAN-Verkehr verwendet wird).Wie wird der primäre Netzwerkadapter in den Ergebnissen von PdhExpandWildCardPath ermittelt?

Ich kann "\ Netzwerkschnittstelle (*) \ empfangene Bytes/Sek" an PdhExpandWildCardPath() übergeben und eine Liste zurück erhalten, aber diese Liste scheint in alphabetischer Reihenfolge zu sein, nicht Routing-Reihenfolge. Und die von PdhExpandWildCardPath() zurückgegebenen Namen scheinen nicht dieselben zu sein wie die von den WMI-Funktionen verwendeten - Pdh scheint "Packet Scheduler Miniport" hinzuzufügen - also selbst wenn ich diesen Weg gegangen bin, bin ich nicht sicher, wie korrelieren die Informationen von den verschiedenen APIs.

Antwort

1

Welcher Netzwerkadapter "Primär" ist, ist eine qualitative Beurteilung. Ein Computer verfügt möglicherweise über integrierte drahtlose 802.11- und kabelgebundene Ethernet-Adapter, von denen jeder zu einem bestimmten Zeitpunkt (oder sogar gleichzeitig) primär sein kann.

Sie werden wahrscheinlich die IP Helper API verwenden müssen, um zu bestimmen, welche Sie bevorzugen und korrelieren Sie diese mit dem PerfMon-Ausgang. oder Sie könnten einfach den mit der meisten Aktivität auswählen und ihn als primär bezeichnen. Das ist genau die Art von Werturteilen, die PerfMon unmöglich machen kann, da diese Statistiken für sie transparent sind.