Réinitialisation matérielle du pilote Miniport
Un pilote miniport doit inscrire une fonction MiniportResetEx auprès de NdisMRegisterMiniportDriver.
MiniportResetEx peut se terminer de manière synchrone ou asynchrone avec un appel à NdisMResetComplete (voir la figure suivante).
MiniportResetEx doit :
Désactivez d’autres interruptions.
Effacez les données associées aux envois en cours. Par exemple, sur une mémoire tampon en anneau pour un appareil d’accès direct à la mémoire (DMA) master bus, les pointeurs d’envoi des mémoires tampons doivent être effacés. Les pilotes miniports désérialisés et orientés connexion doivent retourner NDIS_STATUS_REQUEST_ABORTED pour toutes les demandes d’envoi en file d’attente.
Restaurez l’état du matériel et l’état interne du pilote miniport à l’état qui existait avant l’opération de réinitialisation.
Le pilote miniport est chargé de restaurer l’état matériel de l’appareil, à l’exception des adresses de multidiffusion, des filtres de paquets, des paramètres de déchargement des tâches et des modèles de mise en éveil. Ces paramètres sont restaurés par le pilote miniport ou par NDIS. Le pilote miniport détermine qui est responsable de la restauration de ces paramètres en retournant une valeur booléenne dans le paramètre AddressingReset .
Si le pilote miniport retourne FALSE dans le paramètre AddressingReset , le pilote miniport restaure ses adresses de multidiffusion, ses filtres de paquets, ses paramètres de déchargement de tâche et ses modèles de mise en éveil à leur état initial. Si le pilote miniport retourne TRUE dans AddressingReset, NDIS appelle la fonction MiniportOidRequest d’un pilote miniport sans connexion ou la fonction MiniportCoOidRequest d’un pilote miniport orienté connexion pour définir les paramètres de configuration suivants :
Le filtre de paquets réseau via une requête définie de OID_GEN_CURRENT_PACKET_FILTER.
Liste d’adresses de multidiffusion par le biais d’une requête définie de OID_802_3_MULTICAST_LIST.
Les paramètres d’encapsulation de la tâche de déchargement via une demande d’ensemble de OID_OFFLOAD_ENCAPSULATION.
Modèles de mise en éveil de la gestion de l’alimentation via une demande d’ensemble de OID_PNP_ADD_WAKE_UP_PATTERN. Note À compter de NDIS 6.20, les modèles de mise en éveil définis via OID_PM_ADD_WOL_PATTERN doivent être restaurés par le pilote miniport.
Rubriques connexes
États de l’adaptateur d’un pilote Miniport