Estados y operaciones del adaptador de miniporte
Para cada adaptador que administra, un controlador de miniporte NDIS 6.0 o posterior debe admitir el siguiente conjunto de estados operativos:
Detenido
El estado Detenido es el estado inicial de todos los adaptadores. Cuando un adaptador está en estado Detenido, NDIS puede llamar a la función MiniportInitializeEx del controlador para inicializar el adaptador.
Apagado
En el estado Apagado, debe producirse un apagado y reinicio del sistema antes de que el sistema pueda volver a usar el adaptador.
Inicializando
En el estado Inicialización, un controlador de minipuerto completa las operaciones necesarias para inicializar un adaptador.
Pausa
En el estado Pausado, el adaptador no indica los datos de red recibidos ni acepta solicitudes de envío.
Reiniciar
En el estado Reinicio, un controlador de minipuerto completa las operaciones necesarias para reiniciar las operaciones de envío y recepción de un adaptador.
Corriendo
En el estado En ejecución, un controlador de minipuerto realiza el procesamiento de envío y recepción de un adaptador.
Pausa
En el estado Pausa, un controlador de minipuerto completa las operaciones necesarias para detener las operaciones de envío y recepción de un adaptador.
En la tabla siguiente, los encabezados son los estados del adaptador. Los eventos principales se muestran en la primera columna. El resto de las entradas de la tabla especifican el siguiente estado que entra el adaptador después de que se produzca un evento dentro de un estado. Las entradas en blanco representan combinaciones de eventos o estados no válidas.
Evento \ Estado | Detenido | Shutdown | Inicializando | En pausa | Reiniciar | En ejecución | Pausando |
---|---|---|---|---|---|---|---|
Inicializando |
|||||||
Inicializar se ha completado |
En pausa |
||||||
Shutdown |
Shutdown |
Shutdown |
Shutdown |
||||
Detenido |
|||||||
Reiniciar |
|||||||
Se ha completado el reinicio |
En ejecución |
||||||
Pausando |
|||||||
La pausa está completa |
En pausa |
||||||
Error al inicializar |
Detenido |
||||||
Error de reinicio |
En pausa |
||||||
Operaciones de envío y recepción |
En ejecución |
Pausando |
|||||
Solicitudes de OID |
En pausa |
Reiniciar |
En ejecución |
Pausando |
Nota Los eventos enumerados en la tabla anterior son los eventos principales de un adaptador NDIS 6.0 o posterior.
Nota La operación de restablecimiento no afecta a los estados operativos del adaptador de miniporte. El estado del adaptador puede cambiar mientras una operación de restablecimiento está en curso. Por ejemplo, NDIS podría llamar al controlador de pausa de un controlador cuando hay una operación de restablecimiento en curso. En este caso, el controlador puede completar el restablecimiento o la operación de pausa en cualquier orden mientras se siguen los requisitos normales de cada operación. Para una operación de restablecimiento, el controlador puede producir un error en los paquetes de solicitud de transmisión o puede mantenerlos en cola y completarlos más adelante. Sin embargo, debe tener en cuenta que un controlador de exceso no puede completar una operación de pausa mientras sus paquetes de transmisión están pendientes.
Los eventos principales del controlador de minipuerto se definen de la siguiente manera:
MiniportInitializeEx
NDIS llamó a la función MiniportInitializeEx del controlador para inicializar un adaptador. Para obtener más información sobre la inicialización del adaptador, consulte Inicialización de un adaptador de minipuerto.
Inicializar se ha completado
Después de que MiniportInitializeEx se devuelva correctamente, la operación de inicialización se completa y el adaptador está en estado Pausado.
MiniportShutdownEx
NDIS llamó a la función MiniportShutdownEx del controlador para apagar un adaptador. Para obtener más información, consulte Apagado del adaptador de miniporte.
MiniportHaltEx
NDIS llamó a la función MiniportHaltEx del controlador para detener un adaptador. Para obtener más información, vea Detener un adaptador de minipuerto.
MiniportRestart
NDIS llamó a la función MiniportRestart del controlador para reiniciar un adaptador en pausa. Dado que un adaptador está en estado Pausado después de la inicialización, este evento también es necesario para iniciar el adaptador una vez completada la inicialización del adaptador. Para obtener más información, vea Iniciar un adaptador.
Se ha completado el reinicio
Una vez que el controlador está listo para controlar las operaciones de envío y recepción, la operación de reinicio se completa y el adaptador está en estado En ejecución.
MiniportPause
NDIS llamó a la función MiniportPause del controlador para pausar un adaptador. Para obtener más información, vea Pausar un adaptador.
La pausa está completa
Una vez que el controlador ha completado todas las operaciones necesarias para detener las operaciones de envío y recepción, la operación de pausa se completa y el adaptador está en estado Pausado.
Nota El controlador debe esperar a que NDIS devuelva todas sus indicaciones de recepción pendientes antes de que se complete la operación de pausa.
Error al inicializar
Si NDIS llama a la función MiniportInitializeEx de un controlador y se produce un error en el intento de inicialización, el adaptador vuelve al estado Detenido.
Error de reinicio
Si NDIS llama a la función MiniportRestart de un controlador y se produce un error en el intento de reinicio, el adaptador permanece en estado Pausado.
Operaciones de envío y recepción
Un controlador debe controlar las operaciones de envío y recepción en los estados En ejecución y pausa. Para obtener más información sobre las operaciones de envío y recepción, vea Miniport Driver Send and Receive Operations.
Solicitudes de OID
Un controlador debe controlar las solicitudes de OID en los estados En ejecución, Reinicio, Pausado y Pausa. Para obtener más información sobre las solicitudes de OID, consulte Solicitudes de OID para un adaptador.
Temas relacionados
Detener un adaptador de minipuerto
Inicialización de un adaptador de minipuerto
Apagado del adaptador de minipuerto
Operaciones de envío y recepción del controlador de miniporte