Neustarten einer Bindung
Um eine bindung neu zu starten, die angehalten ist, sendet NDIS dem Protokolltreiber eine PnP-Neustartbenachrichtigung (Network Plug & Play). Nachdem der Protokolltreiber die Neustartbenachrichtigung erhalten hat, wechselt die betroffene Bindung in den Status Neustarten.
Um eine Neustartbenachrichtigung zu senden, ruft NDIS die ProtocolNetPnPEvent-Funktion eines Protokolltreibers auf. Die NET_PNP_EVENT_NOTIFICATION Struktur, die NDIS an ProtocolNetPnPEvent übergibt, gibt NetEventRestart im NetEvent-Member an, und das Buffer-Element enthält einen Zeiger auf die NDIS_PROTOCOL_RESTART_PARAMETERS-Struktur . NDIS stellt einen Zeiger auf eine NDIS_RESTART_ATTRIBUTES-Struktur im RestartAttributes-Member der NDIS_PROTOCOL_RESTART_PARAMETERS-Struktur bereit.
Hinweis Während die Bindung angehalten wurde, hätte NDIS den Treiberstapel neu konfiguriert. Die neue Stapelkonfiguration kann verschiedene Funktionen für den zugrunde liegenden Adapter unterstützen. Diese neuen Funktionen können beeinflussen, wie der Protokolltreiber über eine Bindung kommuniziert.
Der Protokolltreiber sollte die Informationen in der NDIS_PROTOCOL_RESTART_PARAMETERS-Struktur verwenden, um unnötige OID-Anforderungen zu vermeiden.
Im Status "Neustart" kann der Protokolltreiber Folgendes ausführen:
Verwenden Sie OID-Anforderungen, um den Treiberstapel abzufragen. Der Treiber kann sich beispielsweise über die Unterstützung der empfangsseitigen Skalierung informieren, indem er OID_GEN_RECEIVE_SCALE_CAPABILITIES verwendet.
Stellen Sie bei Bedarf NET_BUFFER - und NET_BUFFER_LIST-Pools neu zu.
Listet die Liste der zugrunde liegenden Filtermodule auf.
Verwenden Sie OID-Anforderungen, um neue Adapterfunktionen anzuzeigen.
Nachdem der Treiber bereit ist, Sende- und Empfangsvorgänge für die Bindung fortzusetzen, wechselt die Bindung in den Status Wird ausgeführt.