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 protocolo NDIS deve suportar os seguintes estados operacionais para cada ligação gerenciada pelo driver:
Desvinculado
Abertura
Correr
Encerramento
Pausa
Em pausa
Reiniciando
As figuras seguintes mostram a relação entre estes Estados.
O seguinte define os estados de ligação do driver de protocolo:
O estado Unbound é o estado inicial de uma ligação. Nesse estado, o driver de protocolo aguarda que o NDIS chame a função ProtocolBindAdapterEx . Depois de o NDIS chamar ProtocolBindAdapterEx, a associação entra no estado de abertura. Depois de uma operação de desvinculação ser concluída, uma ligação retornará ao estado Desvinculado a partir do estado de Encerramento.
No estado Abertura , um driver de protocolo aloca recursos para a associação e tenta abrir o adaptador de miniporta. Depois que o NDIS chama a função ProtocolBindAdapterEx do driver, a ligação entra no estado de abertura. Se o driver de protocolo não conseguir se vincular ao adaptador de miniporta, a associação retornará ao estado Unbound. Se o driver efetuar com sucesso a ligação ao adaptador de miniporta, a ligação entrará no estado Pausado.
No estado em execução , um driver de protocolo executa o processamento normal de envio e recebimento para uma ligação. Quando a associação está no estado Reiniciando e o driver está pronto para executar operações de envio e recebimento, a associação entra no estado em execução.
No estado de fechamento , o driver de protocolo fecha a ligação para o adaptador de miniporta e, em seguida, libera os recursos para a ligação. Depois que o NDIS chama a função ProtocolUnbindAdapterEx do driver de protocolo, a associação entra no estado de fechamento. Depois que o driver de protocolo conclui as operações de desvinculação, a associação entra no estado Não vinculado.
No estado Pausando, um driver de protocolo conclui todas as operações necessárias para interromper as transmissões e receções de uma ligação. Quando uma associação está no estado em execução e o NDIS envia ao driver de protocolo uma notificação de pausa PnP, a associação entra no estado de pausa. O driver de protocolo deve aguardar que todas as suas solicitações de envio pendentes sejam concluídas. Um driver de protocolo não pode falhar uma operação de pausa. Após a conclusão da operação de pausa, a ligação entra no estado Pausado.
No estado Pausado , o driver de protocolo não executa operações de envio ou recebimento para uma ligação. Quando uma associação está no estado de pausa e uma operação de pausa é concluída, a associação entra no estado de pausa completa. Quando uma associação está no estado Abertura e uma operação aberta é concluída com êxito, a associação entra no estado Pausado. Se o NDIS enviar ao driver de protocolo uma notificação de reinício PnP para a ligação, a associação entrará no estado de reinício. Se o NDIS chamar a função ProtocolUnbindAdapterEx do driver, a associação entrará no estado de Encerramento.
No estado Reiniciando , um driver de protocolo conclui todas as operações necessárias para reiniciar operações de envio e recebimento para uma ligação. Quando uma associação está no estado Pausado e o NDIS envia ao driver de protocolo uma notificação de reinicialização PnP, a associação entra no estado Reiniciando. Se a reinicialização falhar, a associação retornará ao estado Pausado. Se a reinicialização for bem-sucedida, a associação entrará no estado em execução.