Udostępnij za pośrednictwem


OID_GEN_CO_NETCARD_LOAD

Nuta

OID_GEN_CO_NETCARD_LOAD jest taka sama jak OID_GEN_NETCARD_LOAD.

Identyfikator OID OID_GEN_CO_NETCARD_LOAD zwraca względne obciążenie systemu transmisji sterownika miniport zorientowanego na połączenie. Sterownik miniportu uzyskuje tę liczbę, obliczając różnicę między ilością danych dostarczanych do transmisji z protokołów a ilością danych, które zostały rzeczywiście wysłane, zgodnie z danymi zwróconymi przez pakiety zwrócone do protokołów z NdisMCoSendComplete. Wynikiem jest ilość zaległych danych przesyłanych w sterowniku miniportu w dowolnym momencie.

Ponieważ ta statystyka zmienia się z bardzo wysoką częstotliwością, port sterownika miniportu powinien go filtrować. Najprostszą metodą filtrowania jest utrzymywanie średniej bieżącej próbek zaległych danych przesyłanych. Na przykład za każdym razem, gdy wywoływana jest MiniportCoSendPackets, sterownik miniportu może dodać przesłany rozmiar pakietu do zmiennej zdefiniowanej przez miniport o nazwie OutstandingBytes. Za każdym razem, gdy sterownik miniportu wywołuje NdisMCoSendComplete, sterownik miniportu odejmuje zwrócony rozmiar pakietu z OutstandingBytes. Sterownik miniportu musi również zachować średnią bieżącą, czyli wartość, którą sterownik miniportu powinien zwrócić w odpowiedzi na zapytanie OID_GEN_CO_NETCARD_LOAD. Ta zmienna, która może być wywoływana RunningAverage, musi zostać zaktualizowana w każdym MiniportCoSendPacketsw następujący sposób:

RunningAverage = [(RunningAverage * C) + (OutstandingBytes * (128 - C))] / 128;

W tym przypadku 1 <C< 128. Większe wartości C generują bardziej płynne filtrowanie.

Wymagania

version: Windows Vista and later Header: Ntddndis.h (include Ndis.h)