Необязательный NDIS LWF может вызвать 90-секундную задержку доступности сети.
В этой статье рассматриваются дополнительные упрощенные фильтры NDIS (LWF), которые могут привести к задержке доступности сети на 90 секунд.
Исходная версия продукта: Windows
Исходный номер базы знаний: 2019184
Сводка
Если установлен дополнительный драйвер упрощенного фильтра NDIS (LWF) и драйвер не запущен, сеть будет недоступна в течение 90 секунд.
Дополнительная информация
Драйвер упрощенного фильтра NDIS — это одна из нескольких моделей драйверов для мониторинга и фильтрации сетевых пакетов в Windows. LWF являются новыми в спецификации NDIS 6 (Vista и далее).
NDIS LWF могут быть обязательными драйверами фильтров или необязательными драйверами фильтров. Тип выполнения фильтра указывается в INF-файле драйвера через FilterRunType
. Значение FilterRunType
1 является обязательным фильтром, а FilterRunType 2 — необязательным фильтром:
HKR, Ndi,FilterRunType, 0x00010001, 0x00000001 ; MANDATORY filter
или
HKR, Ndi,FilterRunType, 0x00010001, 0x00000002 ; OPTIONAL filter
Если драйвер LWF установлен, но не запущен, сетевой стек будет недоступен в течение 90 секунд, если выгруженный драйвер фильтра является необязательным фильтром. Стек никогда не станет доступным, если отсутствует драйвер фильтра является обязательным. Этот период времени ожидания заключается в том, чтобы предоставить фильтру возможность загрузки. Запуск стека, его приостановка, а затем перезапуск при загрузке дополнительного фильтра в конечном итоге может привести к другим побочным эффектам для компонентов верхнего уровня, которые следят за доступностью сети.
Как правило, драйверы фильтров запускаются сразу же, как SERVICE_SYSTEM_START путем указания значения StartType
1 (SERVICE_SYSTEM_START
) в INF-файле LWF:
StartType = 1 ;SERVICE_SYSTEM_START
Некоторые фильтры, однако, запускаются позже, указав SERVICE_DEMAND_START
для параметра StartType значение 3 (SERVICE_DEMAND_START
):
StartType = 3 ;SERVICE_DEMAND_START
LWF, использующие DEMAND START, должны быть запущены как можно скорее с помощью какого-либо другого механизма, как правило, из службы или приложения, которое запускает драйвер с помощью API диспетчера управления сеансами (SCM). Это делает, например, собственный Wi-Fi (NWIFI.SYS) LWF. Он запускается службой wlansvc. Таким образом, хотя это SERVICE_DEMAND_START
, пользователи не испытывают задержки в доступности сети.
Если драйвер никогда не запускается или запускается медленно, NDIS будет ожидать его регистрации (NdisFRegisterFilterDriver
) и подключения к стеку, прежде чем сделать сетевой адаптер доступным до 90-секундного периода ожидания, после чего стек будет запускаться без него, если он является необязательным.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по