LWF NDIS facultatif peut entraîner un retard de 90 secondes dans la disponibilité du réseau
Cet article présente des filtres légers NDIS facultatifs (LWF) peut entraîner un retard de 90 secondes dans la disponibilité du réseau.
Version du produit d’origine : Windows
Numéro de base de connaissances d’origine : 2019184
Résumé
Si un pilote NDIS Lightweight Filter (LWF) facultatif est installé et que le pilote n’est pas démarré, le réseau n’est pas disponible pendant 90 secondes.
Plus d’informations
Un pilote de filtre léger NDIS est l’un des modèles de pilotes permettant de surveiller et de filtrer les paquets réseau dans Windows. Les LWFs sont nouvelles avec la spécification NDIS 6 (Vista et ci-dessous).
Les LWFs NDIS peuvent être des pilotes de filtre obligatoires ou des pilotes de filtre facultatifs. Le type d’exécution du filtre est spécifié dans l’INF du pilote via FilterRunType
. A FilterRunType
1 est un filtre obligatoire, tandis qu’un FilterRunType de 2 est un filtre facultatif :
HKR, Ndi,FilterRunType, 0x00010001, 0x00000001 ; MANDATORY filter
ou
HKR, Ndi,FilterRunType, 0x00010001, 0x00000002 ; OPTIONAL filter
Si un pilote LWF est installé mais pas démarré, la pile réseau n’est pas disponible pendant 90 secondes maximum si le pilote de filtre déchargé est un filtre facultatif. La pile ne sera jamais disponible si le pilote de filtre manquant est obligatoire. Cette période d’expiration consiste à donner au filtre la possibilité de charger. En démarrant la pile, en la suspendant, puis en la redémarrant lorsqu’un filtre facultatif se charge éventuellement, d’autres effets secondaires peuvent entraîner des effets secondaires sur les composants de couche supérieure qui surveillent la disponibilité du réseau.
En règle générale, les pilotes de filtre sont démarrés immédiatement en tant que SERVICE_SYSTEM_START en spécifiant sa StartType
valeur 1 (SERVICE_SYSTEM_START
) dans l’INF du LWF :
StartType = 1 ;SERVICE_SYSTEM_START
Toutefois, certains filtres sont démarrés ultérieurement en SERVICE_DEMAND_START
spécifiant son StartType en tant que 3 (SERVICE_DEMAND_START
) :
StartType = 3 ;SERVICE_DEMAND_START
Les LWFs qui utilisent le DÉMARRAGE DE LA DEMANDE doivent être démarrés dès que possible par un autre mécanisme, généralement à partir d’un service ou d’une application qui démarre le pilote à l’aide des API SCM (Session Control Manager). Le LWF natif wi-fi (NWIFI.SYS) effectue cette opération, par exemple. Il est démarré par le service wlansvc. Par conséquent, alors qu’il s’agit SERVICE_DEMAND_START
, les utilisateurs ne connaissent pas de retard dans la disponibilité du réseau.
Si le pilote ne démarre jamais ou est lent au démarrage, NDIS attend qu’il soit inscrit (NdisFRegisterFilterDriver
) et qu’il s’attache à la pile avant de rendre la carte réseau disponible, jusqu’à la période d’expiration de 90 secondes, à laquelle la pile démarre sans elle si elle est facultative.