Partager via


Opérations intermédiaires de dissociation de pilote

Un pilote intermédiaire se dissocie d’un pilote miniport sous-jacent en appelant NdisCloseAdapterEx à partir de sa fonction ProtocolUnbindAdapterEx . NDIS appelle ProtocolUnbindAdapterEx si l’adaptateur miniport sous-jacent n’est plus disponible.

La fonction ProtocolUnbindAdapterEx d’un pilote intermédiaire peut être appelée lorsque le pilote a un appel en attente à NdisIMInitializeDeviceInstanceEx. Cette situation se produit lorsque NDIS n’a pas encore appelé MiniportInitializeEx pour initialiser les miniports virtuels correspondants. Dans ce cas, le pilote intermédiaire doit appeler NdisIMCancelInitializeDeviceInstance pour tenter d’annuler l’initialisation de ces miniports virtuels.

Si la liaison en cours de fermeture est mappée à un appareil exporté par le pilote intermédiaire, et si ce périphérique a été initialisé en appelant NdisIMInitializeDeviceInstanceEx, le pilote intermédiaire peut appeler NdisIMDeInitializeDeviceInstance pour fermer l’appareil. Le résultat est que le miniport virtuel du pilote intermédiaire ne devient plus disponible pour les envois ou les demandes effectuées par des pilotes de niveau supérieur.

Si un pilote intermédiaire NDIS appelle la fonction NdisIMDeInitializeDeviceInstance , NDIS appelle la fonction MiniportHaltEx pour le miniport virtuel affecté. Pour plus d’informations sur la gestion de l’opération d’arrêt pour les miniports virtuels, consultez Arrêt d’un miniport virtuel.

Une fois qu’un pilote intermédiaire a appelé NdisCloseAdapterEx, toutes les demandes d’envoi pour cette liaison doivent échouer avec une erreur appropriée status.

Pour plus d’informations sur les opérations de dissociation de pilote intermédiaire, consultez Dissociation d’un adaptateur.