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