Condividi tramite


Riavvio di un'associazione

Per riavviare un'associazione sospesa, NDIS invia al driver del protocollo una notifica degli eventi di riavvio del Plug and Play di rete (PnP). Dopo che il driver del protocollo riceve la notifica di riavvio, l'associazione interessata entra nello stato Riavvio.

Per inviare una notifica di riavvio, NDIS chiama la funzione ProtocolNetPEvent del driver di protocollo. La struttura NET_PNP_EVENT_NOTIFICATION che NDIS passa a ProtocolNetPnPEvent specifica NetEventRestart nel membro NetEvent e il membro Buffer contiene un puntatore alla struttura NDIS_PROTOCOL_RESTART_PARAMETERS . NDIS fornisce un puntatore a una struttura NDIS_RESTART_ATTRIBUTES nel membro RestartAttributes della struttura NDIS_PROTOCOL_RESTART_PARAMETERS.

Nota Mentre l'associazione è stata sospesa, NDIS potrebbe aver riconfigurato lo stack di driver. La nuova configurazione dello stack può supportare un set diverso di funzionalità per l'adattatore sottostante. Queste nuove funzionalità possono influire sul modo in cui il driver del protocollo comunica su un'associazione.

Il driver di protocollo deve usare le informazioni nella struttura NDIS_PROTOCOL_RESTART_PARAMETERS per evitare richieste OID non necessarie.

Nello stato Riavvio, il driver del protocollo può:

  • Usare le richieste OID per eseguire query sullo stack di driver. Ad esempio, il driver può scoprire il supporto per ricevere il ridimensionamento laterale usando OID_GEN_RECEIVE_SCALE_CAPABILITIES.

  • Riallocare NET_BUFFER e pool di NET_BUFFER_LIST , se necessario.

  • Enumerare l'elenco dei moduli di filtro sottostanti.

  • Usare le richieste OID per visualizzare nuove funzionalità dell'adattatore.

Dopo che il driver è pronto per riprendere le operazioni di invio e ricezione per l'associazione, l'associazione entra nello stato In esecuzione.