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).

Diagramme illustrant le processus de réinitialisation d’une interface réseau carte.

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 :

États de l’adaptateur d’un pilote Miniport

États et opérations de l’adaptateur Miniport

Fonctions de réinitialisation et d’arrêt du pilote Miniport