Partilhar via


Pausando um adaptador

O NDIS chama a função MiniportPause do driver de miniporta para iniciar uma operação de pausa. O adaptador permanece no estado de pausa até que a operação de pausa seja concluída.

No estado de pausa, o miniport driver deve concluir as operações de recebimento pendentes. O motorista também deve concluir todas as operações de envio pendentes e deve rejeitar quaisquer novos pedidos de envio.

Para concluir as operações de recebimento, o controlador aguarda que todas as chamadas para a função NdisMIndicateReceiveNetBufferLists retornem, e o NDIS deve retornar todas as estruturas pendentes de NET_BUFFER_LIST para a função MiniportReturnNetBufferLists do controlador de miniporta.

Para concluir as operações de envio pendentes, o driver de miniporta deve chamar a função NdisMSendNetBufferListsComplete para todas as estruturas de NET_BUFFER_LIST pendentes. O driver deverá rejeitar quaisquer novas solicitações de envio feitas para a sua função MiniportSendNetBufferLists imediatamente.

Depois que um driver de miniporta concluir todas as operações pendentes de envio e recebimento, o driver deverá concluir a solicitação de pausa de forma síncrona ou assíncrona. Se a operação de pausa for concluída de forma assíncrona, o driver chamará NdisMPauseComplete para concluir a solicitação de pausa. Depois de concluir a solicitação de pausa, o driver de miniporta está no estado Pausado.

O NDIS não inicia outras operações Plug and Play, como parar, inicializar, mudar de energia ou reiniciar operações, enquanto o driver da miniporta estiver no estado de pausa. O NDIS pode iniciar as operações Plug and Play depois que um driver de miniporta estiver no estado Pausado.