OID_GEN_CO_NETCARD_LOAD
Примечание
OID_GEN_CO_NETCARD_LOAD совпадает с OID_GEN_NETCARD_LOAD.
OID OID_GEN_CO_NETCARD_LOAD возвращает относительную нагрузку на систему передачи драйвера мини-порта, ориентированного на подключение. Драйвер мини-порта получает это число, вычисляя разницу между объемом данных, доставленных для передачи из протоколов, и объемом фактически отправленных данных, как указано в пакетах, возвращенных протоколам с помощью NdisMCoSendComplete. Результатом является объем неоплаченных данных передачи в драйвере мини-порта в любое время.
Так как эта статистика меняется с очень высокой частотой, порт драйвера мини-порта должен отфильтровать его. Самый простой метод фильтрации — поддержание среднего значения выборок необработанных передаваемых данных. Например, при каждом вызове MiniportCoSendPackets драйвер мини-порта может добавить размер отправленного пакета в переменную, определяемую драйвером мини-порта с именем OutstandingBytes. Каждый раз, когда драйвер минипорта вызывает NdisMCoSendComplete, драйвер мини-порта вычитает возвращенный размер пакета из OutstandingBytes. Драйвер мини-порта также должен поддерживать среднее значение, которое должен возвращать драйвер минипорта в ответ на запрос OID_GEN_CO_NETCARD_LOAD. Эта переменная, которая может называться RunningAverage, должна обновляться в каждом miniportCoSendPackets следующим образом:
RunningAverage = [(RunningAverage * C) + (OutstandingBytes * (128 - C))] / 128;
В этом случае 1 <C< 128. Большие значения C упрощают фильтрацию.
Требования
Версия: Windows Vista и более поздних версий Заголовок: Ntddndis.h (включая Ndis.h)