So erkennt NDIS Netzwerkadapter im Leerlauf
Nachdem der Miniporttreiber das selektive Anhalten von NDIS aktiviert und seine Handlerfunktionen registriert hat, überwacht NDIS die E/A-Aktivität des Netzwerkadapters wie folgt:
NDIS überwacht die Aufrufe der E/A-Handlerfunktionen, die der Miniporttreiber über die NDIS_MINIPORT_DRIVER_CHARACTERISTICS - und NDIS_MINIPORT_PNP_CHARACTERISTICS-Strukturen registriert. Beispielsweise überwacht NDIS Aufrufe der MiniportSendNetBufferLists oder MiniportReturnNetBufferLists des Miniporttreibers, um zu ermitteln, ob der Treiber an einer E/A-Aktivität von Paketen beteiligt ist.
NDIS überwacht auch die Aufrufe von NdisOidRequest und NdisDirectOidRequest , die durch die Überlastung von Protokolltreibern erfolgen.
Hinweis NDIS überwacht nur die OID-Anforderungen (Object Identifier) an den zugrunde liegenden Miniporttreiber, die nicht direkt von NDIS verarbeitet werden.
NDIS ermittelt, dass sich der Netzwerkadapter im Leerlauf befindet, wenn er für einen Leerlauftimeout keine Aktivität auf dem Adapter erkennt. Die Dauer dieses Timeoutzeitraums wird durch den Wert des standardisierten INF-Schlüsselwort (keyword) *SSIdleTimeout angegeben. Weitere Informationen zu diesem Schlüsselwort (keyword) finden Sie unter Standardisierte INF-Schlüsselwörter für das selektive Anhalten von NDIS.
Nachdem der Netzwerkadapter im Leerlauf ist, startet NDIS den selektiven Anhaltevorgang. Bei diesem Vorgang wird der Netzwerkadapter angehalten, indem er in einen Energiesparzustand übergehen wird.
NDIS beginnt diesen selektiven Angehaltenvorgang, indem eine Benachrichtigung im Leerlauf an den Miniporttreiber ausgegeben wird. Dazu ruft NDIS die MiniportIdleNotification-Handlerfunktion des Treibers auf. Weitere Informationen dazu, wie der Miniporttreiber diese Benachrichtigung behandelt, finden Sie unter Behandeln der NDIS-Benachrichtigung zum selektiven Anhalten im Leerlauf.
Wenn NDIS erkennt, dass E/A-Anforderungen an den Netzwerkadapter von Überlagerungstreibern ausgegeben werden oder wenn der Adapter ein Aktivierungsereignis signalisiert, bricht NDIS die Benachrichtigung im Leerlauf ab. Dazu ruft NDIS die MiniportCancelIdleNotification-Handlerfunktion des Miniporttreibers auf.
Weitere Informationen dazu, wie NDIS die Leerlaufbenachrichtigung abbricht, finden Sie unter Abbrechen der NDIS-Benachrichtigung zum selektiven Anhalten im Leerlauf.
Weitere Informationen dazu, wie der Miniporttreiber die Leerlaufbenachrichtigung abschließt, finden Sie unter Abschließen der NDIS-Benachrichtigung zum selektiven Anhalten im Leerlauf.