Operaciones intermedias de desenlace del controlador
Un controlador intermedio desenlace de un controlador de miniport subyacente llamando a NdisCloseAdapterEx desde su función ProtocolUnbindAdapterEx . NDIS llama a ProtocolUnbindAdapterEx si el adaptador de minipuerto subyacente ya no está disponible.
Se puede llamar a una función ProtocolUnbindAdapterEx del controlador intermedio cuando el controlador tiene una llamada pendiente a NdisIMInitializeDeviceInstanceEx. Esta situación se produce cuando NDIS aún no ha llamado a MiniportInitializeEx para inicializar los miniportes virtuales correspondientes. En este caso, el controlador intermedio debe llamar a NdisIMCancelInitializeDeviceInstance para intentar cancelar la inicialización de estos miniportes virtuales.
Si el enlace que se cierra se asigna a un dispositivo exportado por el controlador intermedio y si ese dispositivo se inicializó llamando a NdisIMInitializeDeviceInstanceEx, el controlador intermedio puede llamar a NdisIMDeInitializeDeviceInstance para cerrar el dispositivo. El resultado es que el miniporte virtual del controlador intermedio deja de estar disponible para envíos o solicitudes realizadas por controladores de nivel superior.
Si un controlador intermedio NDIS llama a la función NdisIMDeInitializeDeviceInstance , NDIS llama a la función MiniportHaltEx para el miniporte virtual afectado. Para obtener información sobre cómo controlar la operación de detención de miniportes virtuales, consulte Detener una miniporte virtual.
Después de que un controlador intermedio llame a NdisCloseAdapterEx, debe producir un error en las solicitudes de envío para ese enlace con un estado de error adecuado.
Para obtener información adicional sobre las operaciones intermedias de desenlace del controlador, consulte Desenlace de un adaptador.