Partilhar via


Desvinculação de um adaptador

O NDIS chama a função ProtocolUnbindAdapterEx de um driver de protocolo para solicitar que o driver se desvincule de um adaptador subjacente. Como o recíproco de ProtocolBindAdapterEx, o NDIS chama ProtocolUnbindAdapterEx para fechar a ligação ao adaptador e libertar os recursos que o driver alocou para a ligação.

No ProtocolUnbindAdapterEx, um driver de protocolo chama NdisCloseAdapterEx para fechar a ligação a um adaptador subjacente. O driver de protocolo passa para NdisCloseAdapterEx o identificador fornecido pelo NdisOpenAdapterEx no parâmetro NdisBindingHandle. Este handle identifica a associação que o NDIS deve fechar.

Os drivers de protocolo devem fechar um adaptador da função ProtocolBindAdapterEx ou da função ProtocolUnbindAdapterEx.

Se um driver de protocolo deve iniciar uma operação para fechar uma ligação, o driver pode chamar NdisUnbindAdapter. NdisUnbindAdapter agenda um item de trabalho que resulta em uma chamada NDIS para ProtocolUnbindAdapterEx. Este item de trabalho pode ser executado antes que a chamada para NdisUnbindAdapter retorne. Portanto, os programadores de drivers devem assumir que o identificador de ligação é inválido depois que NdisUnbindAdapter retorna.

Se um driver de protocolo retornar NDIS_STATUS_PENDING de ProtocolUnbindAdapterEx, deverá chamar NdisCompleteUnbindAdapterEx com o status final para concluir o pedido de ligação.

Se o NDIS retornar NDIS_STATUS_PENDING de NdisCloseAdapterEx, o NDIS chamará posteriormente a função ProtocolCloseAdapterCompleteEx do driver de protocolo.

O NDIS pode chamar ProtocolUnbindAdapterEx se a ligação estiver no estado Pausado.

Depois que todas as operações de desvinculação forem concluídas, a vinculação estará no estado Não vinculado.