Pausando uma associação

Depois que o NDIS envia a um driver de protocolo uma notificação de evento de pausa de Plug and Play de rede (PnP) para uma associação, a associação entra no estado Pausar.

Para notificar o driver de protocolo do evento de pausa PnP, o NDIS chama a função ProtocolNetPnPEvent com o membro NetEvent da estrutura NET_PNP_EVENT_NOTIFICATION é definido como NetEventPause. O membro Buffer contém uma estrutura NDIS_PROTOCOL_PAUSE_PARAMETERS .

Para uma associação no estado Pausar, o driver de protocolo:

  • Não deve iniciar novas solicitações de envio.

  • Deve aguardar a conclusão das solicitações de envio pendentes. A operação de pausa não é concluída até que o NDIS chame a função ProtocolSendNetBufferListsComplete para todas as solicitações de envio pendentes do driver.

  • Deve tratar as indicações de recebimento como de costume. O driver de miniporto subjacente aguarda o retorno dos dados de recebimento pendentes antes de concluir uma operação de pausa. Isso garante que não haja nenhuma operação de recebimento em andamento na pilha do driver depois que o driver de miniporto for pausado.

  • Deve retornar novas indicações de recebimento ao NDIS imediatamente. Se necessário, o driver pode copiar essas indicações de recebimento antes de retornar.

Para obter mais informações sobre as operações de envio e recebimento do driver de protocolo, consulte Operações de envio e recebimento do driver de protocolo.

Uma associação entra no estado Pausado depois que o driver de protocolo é feito retornando indicações de recebimento pendentes para a associação e o NDIS concluiu todas as solicitações de envio pendentes para a associação.

Para uma associação no estado Pausado, o driver de protocolo:

  • Não deve fazer nenhuma solicitação de envio.

  • Deve retornar indicações de recebimento imediatamente. Se necessário, o driver pode copiar essas indicações de recebimento antes de retornar.