Compartilhar via


Operações de desassociação de driver intermediário

Um driver intermediário desvincula de um driver de miniporto subjacente chamando NdisCloseAdapterEx de sua função ProtocolUnbindAdapterEx . O NDIS chamará ProtocolUnbindAdapterEx se o adaptador de miniporto subjacente não estiver mais disponível.

Uma função ProtocolUnbindAdapterEx de um driver intermediário pode ser chamada quando o driver tem uma chamada pendente para NdisIMInitializeDeviceInstanceEx. Essa situação ocorre quando o NDIS ainda não chamou MiniportInitializeEx para inicializar os miniportos virtuais correspondentes. Nesse caso, o driver intermediário deve chamar NdisIMCancelInitializeDeviceInstance para tentar cancelar a inicialização desses miniportos virtuais.

Se a associação que está sendo fechada for mapeada para um dispositivo exportado pelo driver intermediário e se esse dispositivo tiver sido inicializado chamando NdisIMInitializeDeviceInstanceEx, o driver intermediário poderá chamar NdisIMDeInitializeDeviceInstance para fechar o dispositivo. O resultado é que o miniporto virtual do driver intermediário não fica mais disponível para envios ou solicitações feitas por drivers de nível superior.

Se um driver intermediário do NDIS chamar a função NdisIMDeInitializeDeviceInstance , o NDIS chamará a função MiniportHaltEx para o miniporto virtual afetado. Para obter informações sobre como lidar com a operação de parada para miniportos virtuais, confira Como interromper um miniporto virtual.

Depois que um driver intermediário chama NdisCloseAdapterEx, ele deve falhar em todas as solicitações de envio para essa associação com um erro apropriado status.

Para obter informações adicionais sobre operações intermediárias de desassociação de driver, consulte Desassociando de um Adaptador.