Compartilhar via


Operações de desvinculação de Driver Intermediário

Um driver intermediário desvincula-se de um driver de miniporto subjacente chamando NdisCloseAdapterEx de sua função ProtocolUnbindAdapterEx. O NDIS chama 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, consulte Halting a Virtual Miniport.

Depois que um driver intermediário chama NdisCloseAdapterEx, ele deve rejeitar qualquer solicitação de envio para essa associação com um status de erro apropriado.

Para obter informações adicionais sobre operações de desvinculação de driver intermediário, consulte Desvinculação de um Adaptador.