OID_GEN_CO_NETCARD_LOAD
Hinweis
OID_GEN_CO_NETCARD_LOAD ist identisch mit OID_GEN_NETCARD_LOAD.
Die OID_GEN_CO_NETCARD_LOAD OID gibt die relative Last auf dem Übertragungssystem eines verbindungsorientierten Miniporttreibers zurück. Der Miniporttreiber leitet diese Zahl ab, indem er die Differenz zwischen der Datenmenge, die für die Übertragung von Protokollen übermittelt wird, und der Tatsächlich gesendeten Datenmenge berechnet, wie durch die Pakete angegeben, die an Protokolle mit NdisMCoSendComplete zurückgegeben werden. Das Ergebnis ist die Menge der ausstehenden Übertragungsdaten im Miniporttreiber zu einem beliebigen Zeitpunkt.
Da sich diese Statistik mit einer sehr hohen Häufigkeit ändert, sollte der Miniporttreiberport sie filtern. Die einfachste Filtermethode ist die Aufrechterhaltung eines laufenden Durchschnitts der Stichproben der ausstehenden Übertragungsdaten. Beispielsweise kann der Miniporttreiber bei jedem Aufruf von MiniportCoSendPackets die übermittelte Paketgröße einer vom Miniporttreiber definierten Variablen namens OutstandingBytes hinzufügen. Jedes Mal, wenn der Miniporttreiber NdisMCoSendComplete aufruft, subtrahiert der Miniporttreiber dann die zurückgegebene Paketgröße von OutstandingBytes. Der Miniporttreiber muss auch einen laufenden Durchschnitt beibehalten, der dem Wert entspricht, den der Miniporttreiber als Reaktion auf die OID_GEN_CO_NETCARD_LOAD Abfrage zurückgeben sollte. Diese Variable, die als RunningAverage bezeichnet werden kann, muss für jedes MiniportCoSendPackets wie folgt aktualisiert werden:
RunningAverage = [(RunningAverage * C) + (OutstandingBytes * (128 - C))] / 128;
In diesem Fall 1 <C< 128. Größere Werte von C erzeugen eine gleichmäßigere Filterung.
Anforderungen
Version: Windows Vista und höher Header: Ntddndis.h (include Ndis.h)