Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um driver de filtro NDIS deve suportar os seguintes estados operacionais para cada módulo de filtro (instância desse driver de filtro) que o driver gerencia.
Separado
Anexar
Em pausa
Reiniciando
Corrida
Pausa
A figura a seguir mostra as relações entre esses estados.
O seguinte define os estados do módulo de filtro:
Independente
O estado Desanexado é o estado inicial de um módulo de filtro. Quando um módulo de filtro está nesse estado, o NDIS pode chamar a função FilterAttach do driver de filtro para vincular o módulo de filtro à pilha de drivers. Quando o NDIS chama a função FilterAttach de um driver de filtro, o módulo de filtro entra no estado 'Attaching'. Se a operação de anexação falhar, o módulo de filtro retornará ao estado Desanexado. Quando o módulo está no estado Pausado e o NDIS chama a função FilterDetach, o módulo retorna ao estado Desanexado.
Anexar
Quando um módulo de filtro está no estado de Anexação, um driver de filtro prepara-se para anexar o módulo à pilha de controladores. Após a conclusão da preparação do módulo de filtro, o módulo de filtro entra no estado Pausado. Se ocorrer uma falha (por exemplo, porque os recursos necessários não estão disponíveis), o módulo de filtro retornará ao estado Desanexado.
Pausa
Quando um módulo de filtro está no estado Pausado, o módulo de filtro não executa operações de envio ou recebimento. Quando um módulo de filtro está no estado Anexando e FilterAttach é bem-sucedido, o módulo de filtro entra no estado Pausado. Quando um módulo de filtro está no estado de Pausa e a operação de pausa é concluída, o módulo de filtro entra no estado Pausado. Quando um módulo de filtro está no estado Pausado e o NDIS chama a função FilterRestart do driver de filtro, o módulo de filtro entra no estado Reiniciando. Quando um módulo de filtro está no estado Pausado e o NDIS chama o manipulador FilterDetach do driver, o módulo de filtro entra no estado Desanexado.
Reinício
No estado Reiniciando, um driver de filtro conclui todas as operações necessárias para reiniciar as operações de envio e recebimento de um módulo de filtro. Quando um módulo de filtro está no estado Pausado e o NDIS chama a função FilterRestart do driver, um módulo de filtro entra no estado Reiniciando. Se a reinicialização falhar, o módulo de filtro retornará ao estado Pausado. Se a reinicialização for bem-sucedida, o módulo de filtro entrará no estado em execução.
em execução
No estado de execução , um driver de filtro realiza o processamento normal de envio e receção para um módulo de filtro. Quando o módulo de filtro está no estado Reiniciando e o driver está pronto para executar operações de envio e recebimento, o módulo de filtro entra no estado em execução.
Pausa
No estado Pausando, um driver de filtro conclui todas as operações necessárias para interromper as operações de envio e recebimento de um módulo de filtro. O driver do filtro deve aguardar que todas as suas solicitações de envio pendentes sejam concluídas e que o NDIS retorne todas as suas indicações de recebimento pendentes. Quando um módulo de filtro está no estado Running e o NDIS chama a funçãoFilterPause do driver, o módulo de filtro entra no estado Pausando. Um driver de filtro não pode falhar em uma operação de pausa. Após a conclusão da operação de pausa, o módulo de filtro entra no estado Pausado.