Partager via


Dissociation d’un adaptateur

NDIS appelle la fonction ProtocolUnbindAdapterEx d’un pilote de protocole pour demander que le pilote se dissocie d’une carte sous-jacente. En tant que réciproque de ProtocolBindAdapterEx, NDIS appelle ProtocolUnbindAdapterEx pour fermer la liaison à l’adaptateur et libérer les ressources que le pilote a allouées pour la liaison.

Dans ProtocolUnbindAdapterEx, un pilote de protocole appelle NdisCloseAdapterEx pour fermer la liaison à un adaptateur sous-jacent. Le pilote de protocole transmet À NdisCloseAdapterEx le handle fourni par NdisOpenAdapterEx à son paramètre NdisBindingHandle . Ce handle identifie la liaison que NDIS doit fermer.

Les pilotes de protocole doivent fermer un adaptateur à partir de la fonction ProtocolBindAdapterEx ou ProtocolUnbindAdapterEx .

Si un pilote de protocole doit lancer une opération pour fermer une liaison, il peut appeler NdisUnbindAdapter. NdisUnbindAdapter planifie un élément de travail qui entraîne un appel NDIS à ProtocolUnbindAdapterEx. Cet élément de travail peut s’exécuter avant le retour de l’appel à NdisUnbindAdapter . Par conséquent, les enregistreurs de pilotes doivent supposer que le handle de liaison n’est pas valide après le retour de NdisUnbindAdapter .

Si un pilote de protocole retourne NDIS_STATUS_PENDING à partir de ProtocolUnbindAdapterEx, il doit appeler NdisCompleteUnbindAdapterEx avec la dernière status pour terminer la demande de liaison.

Si NDIS retourne NDIS_STATUS_PENDING de NdisCloseAdapterEx, NDIS appelle ultérieurement la fonction ProtocolCloseAdapterCompleteEx du pilote de protocole.

NDIS peut appeler ProtocolUnbindAdapterEx si la liaison est à l’état Suspendu.

Une fois toutes les opérations de dissocier terminées, la liaison est à l’état Non lié.