Condividi tramite


Annullamento dell'associazione da un adapter

NDIS chiama la funzione ProtocolUnbindAdapterEx di un driver di protocollo per richiedere che il driver si scolleghi da un adattatore sottostante. Come reciproco di ProtocolBindAdapterEx, NDIS chiama ProtocolUnbindAdapterEx per chiudere l'associazione con l'adattatore e rilasciare le risorse allocate dal driver per l'associazione.

In ProtocolUnbindAdapterEx, un driver di protocollo chiama NdisCloseAdapterEx per chiudere l'associazione a un adattatore sottostante. Il driver del protocollo passa NdisCloseAdapterEx l'handle che NdisOpenAdapterEx ha fornito attraverso il suo parametro NdisBindingHandle. Questo handle identifica il collegamento che NDIS deve chiudere.

I driver di protocollo devono chiudere un adattatore dalla funzione ProtocolBindAdapterEx o ProtocolUnbindAdapterEx.

Se un driver di protocollo deve avviare un'operazione per chiudere un'associazione, il driver può chiamare NdisUnbindAdapter. NdisUnbindAdapter pianifica un elemento di lavoro che genera una chiamata NDIS a ProtocolUnbindAdapterEx. Questo elemento di lavoro può essere eseguito prima che la chiamata a NdisUnbindAdapter venga completata. Pertanto, gli sviluppatori di driver devono assumere che l'handle di associazione non sia valido dopo che NdisUnbindAdapter ritorna.

Se un driver di protocollo restituisce NDIS_STATUS_PENDING da ProtocolUnbindAdapterEx, deve chiamare NdisCompleteUnbindAdapterEx con lo stato finale per completare la richiesta di unbind.

Se NDIS restituisce NDIS_STATUS_PENDING da NdisCloseAdapterEx, NDIS chiama successivamente la funzione ProtocolCloseAdapterCompleteEx del driver di protocollo.

NDIS può chiamare ProtocolUnbindAdapterEx se l'associazione si trova nello stato Sospeso.

Al termine di tutte le operazioni di disassociazione, l'associazione si trova nella modalità Unbound.