Partilhar via


Reiniciar uma Vinculação

Para reiniciar uma ligação pausada, o NDIS envia ao driver de protocolo uma notificação de evento de reinicialização Plug and Play (PnP) de rede. Depois que o driver de protocolo recebe a notificação de reinicialização, a associação afetada entra no estado Reiniciando.

Para enviar uma notificação de reinicialização, o NDIS chama a função ProtocolNetPnPEvent de um driver de protocolo. A estrutura NET_PNP_EVENT_NOTIFICATION que o NDIS passa para ProtocolNetPnPEvent especifica NetEventRestart no membro NetEvent, e o membro Buffer contém um ponteiro para a estrutura NDIS_PROTOCOL_RESTART_PARAMETERS. O NDIS fornece um ponteiro para uma estrutura NDIS_RESTART_ATTRIBUTES no RestartAttributes membro da estrutura NDIS_PROTOCOL_RESTART_PARAMETERS.

Nota Enquanto a ligação foi pausada, o NDIS poderia ter reconfigurado a pilha de drivers. A nova configuração de stack pode suportar um conjunto diferente de capacidades para o adaptador subjacente. Esses novos recursos podem afetar como o driver de protocolo se comunica em uma ligação.

O driver de protocolo deve usar as informações na estrutura NDIS_PROTOCOL_RESTART_PARAMETERS para evitar solicitações OID desnecessárias.

No estado Reiniciando, o driver de protocolo pode:

  • Utilize solicitações OID para consultar a pilha de controladores. Por exemplo, o driver pode obter informações sobre o suporte para o escalonamento lateral de receção usando OID_GEN_RECEIVE_SCALE_CAPABILITIES.

  • Se necessário, realoque os pools de NET_BUFFER e NET_BUFFER_LIST.

  • Enumere a lista dos módulos de filtro subjacentes.

  • Use solicitações OID para revelar novos recursos do adaptador.

Depois que o driver estiver pronto para retomar as operações de envio e recebimento para a ligação, a associação entrará no estado em execução.