Opérations de réinitialisation du pilote intermédiaire
Un pilote intermédiaire doit être prêt à gérer la situation où ses envois en attente sur une liaison à un pilote sous-jacent peuvent être supprimés, car la carte réseau sous-jacente est réinitialisée.
Un pilote sous-jacent réinitialise généralement une carte réseau, car NDIS appelle la fonction MiniportResetEx du pilote miniport lorsque NDIS expire les envois en file d’attente ou les demandes liés à la carte réseau. Si une carte réseau sous-jacente est réinitialisée, NDIS appelle la fonction ProtocolStatusEx(ou ProtocolCoStatusEx) de chaque protocole lié et pilote intermédiaire avec un status de NDIS_STATUS_RESET_START. Lorsque le pilote miniport termine la réinitialisation, NDIS appelle à nouveau ProtocolStatusEx(ou ProtocolCoStatusEx) avec un status de NDIS_STATUS_RESET_END.
Lorsqu’une carte réseau est réinitialisée, si un pilote intermédiaire lié a des données réseau de transmission en attente pour cette carte réseau, NDIS réinitialise ces données réseau au pilote intermédiaire avec une status appropriée. Le pilote intermédiaire doit renvoyer ces données réseau une fois la réinitialisation terminée.
Lorsqu’un pilote intermédiaire reçoit une status de NDIS_STATUS_RESET_START, il doit :
Maintenez toutes les données réseau prêtes à être transmises jusqu’à ce que ProtocolStatusEx ou ProtocolCoStatusEx reçoivent une notification NDIS_STATUS_RESET_END.
Conservez toutes les données réseau reçues prêtes à être indiquées jusqu’au pilote supérieur suivant jusqu’à ce que ProtocolStatusEx(ou ProtocolCoStatusEx) reçoive une notification NDIS_STATUS_RESET_END.
Nettoyez tout état interne qu’il gère pour les opérations en cours et les status de carte réseau.
Une fois Que ProtocolStatusEx(ou ProtocolCoStatusEx) a reçu NDIS_STATUS_RESET_END, le pilote intermédiaire peut reprendre l’envoi de données réseau, en effectuant des requêtes et en effectuant des indications aux pilotes de niveau supérieur.
Un pilote intermédiaire ne fournit pas de fonction MiniportResetEx .