Filtrar estados y operaciones del módulo
Un controlador de filtro debe admitir los siguientes estados operativos para cada módulo de filtro (instancia de un controlador de filtro) que administra el controlador:
Separada
El estado Desasociado es el estado inicial de un módulo de filtro. Cuando un módulo de filtro está en este estado, NDIS puede llamar a la función FilterAttach del controlador de filtro para asociar el módulo de filtro a la pila de controladores.
asociación
En el estado Adjuntar , un controlador de filtro se prepara para asociar el módulo de filtro a la pila de controladores.
Pausa
En el estado Pausado , el controlador de filtro no realiza operaciones de envío o recepción.
Reiniciar
En el estado Reinicio , un controlador de filtro completa las operaciones necesarias para reiniciar las operaciones de envío y recepción de un módulo de filtro.
Corriendo
En estado En ejecución , un controlador de filtro realiza el procesamiento normal de envío y recepción de un módulo de filtro.
Pausa
En el estado Pausa, un controlador de filtro completa las operaciones necesarias para detener las operaciones de envío y recepción de un módulo de filtro.
En la tabla siguiente, los encabezados son los estados del módulo de filtro. Los eventos principales se muestran en la primera columna. El resto de las entradas de la tabla especifican el siguiente estado en el que entra el módulo de filtro 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 | Separada | asociación | En pausa | Reiniciar | En ejecución | Pausando |
---|---|---|---|---|---|---|
Adjuntar filtro |
asociación |
|||||
La asociación está completa |
En pausa |
|||||
Desasociación de filtros |
Separada |
|||||
Reinicio del filtro |
Reiniciar |
|||||
Se ha completado el reinicio |
En ejecución |
|||||
Pausa de filtro |
Pausando |
|||||
La pausa está completa |
En pausa |
|||||
Error al adjuntar |
Separada |
|||||
Error de reinicio |
En pausa |
|||||
Envío y recepción |
En ejecución |
Pausando |
||||
Solicitudes de OID |
En pausa |
Reiniciar |
En ejecución |
Pausando |
Los eventos del controlador de filtro principal se definen de la siguiente manera:
Adjuntar filtro
NDIS llamó a la función FilterAttach del controlador para asociar un módulo de filtro a una pila de controladores. Para obtener más información sobre cómo adjuntar un módulo de filtro, vea Adjuntar un módulo de filtro.
La asociación está completa
Cuando un módulo de filtro está en estado Attaching y el controlador de filtro completa la inicialización de todos los recursos que requiere el módulo de filtro, el módulo de filtro entra en estado Pausado .
Desasociación de filtros
NDIS llamó a la función FilterDetach del controlador para desasociar un módulo de filtro de una pila de controladores. Para obtener más información, consulte Desasociación de un módulo de filtro.
Reinicio del filtro
NDIS llamó a la función FilterRestart del controlador para reiniciar un módulo de filtro en pausa. Para obtener más información, consulte Inicio de un módulo de filtro.
Se ha completado el reinicio
Cuando el módulo de filtro está en estado reinicio y el controlador está listo para realizar operaciones de envío y recepción, el módulo de filtro entra en estado En ejecución .
Pausa de filtro
NDIS llamó a la función FilterPause del controlador para pausar un módulo de filtro. Para obtener más información, vea Pausar un módulo de filtro.
La pausa está completa
Una vez completado el controlador todas las operaciones necesarias para detener las operaciones de envío y recepción, la operación de pausa se completa y el módulo de filtro está en estado Pausado .
Error al adjuntar
Si NDIS llama a la función FilterAttach de un controlador y se produce un error en la operación de asociación (por ejemplo, porque los recursos necesarios no están disponibles), el módulo de filtro vuelve al estado Desasociado .
Error de reinicio
Si NDIS llama a la función FilterRestart de un controlador y se produce un error en el intento de reinicio, el módulo de filtro vuelve al estado Pausado .
Operaciones de envío y recepción
Un controlador puede 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 Filtrar operaciones de envío y recepción del módulo.
Solicitudes de OID
Un controlador puede 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 Filtrar solicitudes de OID del módulo.