Estados e operações do adaptador miniport

Para cada adaptador gerenciado, um driver de miniporta NDIS 6.0 ou posterior deve dar suporte ao seguinte conjunto de estados operacionais:

Interrompido
O estado Parado é o estado inicial de todos os adaptadores. Quando um adaptador está no estado Parado, o NDIS pode chamar a função MiniportInitializeEx do driver para inicializar o adaptador.

Desligamento
No estado Desligamento, um desligamento e uma reinicialização do sistema devem ocorrer antes que o sistema possa usar o adaptador novamente.

Inicializando
No estado Inicialização, um driver de miniporto conclui todas as operações necessárias para inicializar um adaptador.

Pausado
No estado Pausado, o adaptador não indica os dados de rede recebidos nem aceita solicitações de envio.

Reiniciar
No estado Reinicialização, um driver de miniporto conclui todas as operações necessárias para reiniciar as operações de envio e recebimento de um adaptador.

Executando
No estado Em execução, um driver de miniporto executa o processamento de envio e recebimento para um adaptador.

Pausando
No estado Pausando, um driver de miniporto conclui todas as operações necessárias para interromper as operações de envio e recebimento de um adaptador.

Na tabela a seguir, os títulos são os estados do adaptador. Os principais eventos são listados na primeira coluna. O restante das entradas na tabela especifica o próximo estado que o adaptador insere depois que um evento ocorre dentro de um estado. As entradas em branco representam combinações de evento/estado inválidas.

Evento \ Estado Interrompido Shutdown Inicializando Em Pausa Reinicialização Executando Pausando

MiniportInitializeEx

Inicializando

Inicializar está concluído

Em Pausa

MiniportShutdownEx

Shutdown

Shutdown

Shutdown

Shutdown

MiniportHaltEx

Interrompido

MiniportRestart

Reinicialização

A reinicialização foi concluída

Executando

MiniportPause

Pausando

A pausa está concluída

Em Pausa

Falha ao inicializar

Interrompido

Falha na reinicialização

Em Pausa

Operações de envio e recebimento

Executando

Pausando

Solicitações OID

Em Pausa

Reinicialização

Executando

Pausando

Nota Os eventos listados na tabela anterior são os principais eventos para um adaptador NDIS 6.0 ou posterior.

Nota A operação de redefinição não afeta os estados operacionais do adaptador de miniporta. O estado do adaptador pode ser alterado enquanto uma operação de redefinição está em andamento. Por exemplo, o NDIS pode chamar o manipulador de pausa de um driver quando há uma operação de redefinição em andamento. Nesse caso, o driver pode concluir a operação de redefinição ou pausa em qualquer ordem enquanto segue os requisitos normais para cada operação. Para uma operação de redefinição, o driver pode falhar ao transmitir pacotes de solicitação ou pode mantê-los na fila e concluí-los mais tarde. No entanto, você deve observar que um driver de sobreposição não pode concluir uma operação de pausa enquanto seus pacotes de transmissão estão pendentes.

Os principais eventos de driver de miniporta são definidos da seguinte maneira:

MiniportInitializeEx
O NDIS chamou a função MiniportInitializeEx do driver para inicializar um adaptador. Para obter mais informações sobre a inicialização do adaptador, consulte Inicializando um adaptador de miniporto.

Inicializar está concluído
Depois que MiniportInitializeEx retornar com êxito, a operação de inicialização será concluída e o adaptador estará no estado Pausado.

MiniportShutdownEx
O NDIS chamou a função MiniportShutdownEx do driver para desligar um adaptador. Para obter mais informações, consulte Miniport Adapter Shutdown.

MiniportHaltEx
O NDIS chamou a função MiniportHaltEx do driver para interromper um adaptador. Para obter mais informações, consulte Halting a Miniport Adapter.

MiniportRestart
O NDIS chamou a função MiniportRestart do driver para reiniciar um adaptador pausado. Como um adaptador está no estado Pausado após a inicialização, esse evento também é necessário para iniciar o adaptador após a conclusão da inicialização do adaptador. Para obter mais informações, consulte Iniciando um adaptador.

A reinicialização foi concluída
Depois que o driver estiver pronto para lidar com as operações de envio e recebimento, a operação de reinicialização será concluída e o adaptador estará no estado Em execução.

MiniportPause
O NDIS chamou a função MiniportPause do driver para pausar um adaptador. Para obter mais informações, consulte Pausando um adaptador.

A pausa está concluída
Depois que o driver concluir todas as operações necessárias para interromper as operações de envio e recebimento, a operação de pausa será concluída e o adaptador estará no estado Pausado.

Nota O driver deve aguardar o NDIS retornar todas as indicações de recebimento pendentes antes que a operação de pausa seja concluída.

Falha ao inicializar
Se o NDIS chamar a função MiniportInitializeEx de um driver e a tentativa de inicialização falhar, o adaptador retornará ao estado Parado.

Falha na reinicialização
Se o NDIS chamar a função MiniportRestart de um driver e a tentativa de reinicialização falhar, o adaptador permanecerá no estado Pausado.

Operações de envio e recebimento
Um driver deve lidar com as operações de envio e recebimento nos estados Executando e Pausando. Para obter mais informações sobre operações de envio e recebimento, consulte Operações de envio e recebimento do miniport driver.

Solicitações OID
Um driver deve lidar com solicitações OID nos estados Executando, Reiniciando, Pausando e Pausando. Para obter mais informações sobre solicitações OID, consulte Solicitações de OID para um adaptador.

Interrompendo um adaptador miniporta

Inicializando um adaptador miniporta

Desligamento do adaptador de miniporta

Operações de envio e recebimento do driver de miniport

Pausando um adaptador

Iniciando um adaptador