Hinzufügen und Löschen von Wake-on-LAN-Mustern
Um ein Wake-on-LAN-Muster (WOL) hinzuzufügen, geben NDIS-Protokolltreiber eine OID-Set-Anforderung von OID_PM_ADD_WOL_PATTERN aus. Der InformationBuffer-Member der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_PM_WOL_PATTERN-Struktur . Protokolltreiber sollten ein WOL-Paket angeben, wenn dieses WOL-Paket von einem Netzwerkadapter unterstützt wird. Wenn der Netzwerkadapter das WOL-Paket nicht unterstützt, sollte der Protokolltreiber die WOL-Bitmapreaktivierungsmethode verwenden.
NDIS_PM_WOL_PATTERN enthält die folgenden Informationen:
Priorität
Enthält die Priorität des WOL-Musters. Wenn ein übersteigender Treiber ein WOL-Muster mit höherer Priorität hinzufügt, wenn keine Ressourcen für mehr WOL-Muster verfügbar sind, entfernt NDIS möglicherweise ein WOL-Muster mit niedrigerer Priorität, um Ressourcen freizugeben. Miniport-Treiber sollten dieses Element ignorieren. Ein Protokolltreiber kann jede Priorität angeben, die innerhalb des vordefinierten Bereichs von NDIS_PM_WOL_PRIORITY_LOWEST bis NDIS_PM_WOL_PRIORITY_HIGHEST liegt.
WoLPacketType
Enthält einen NDIS_PM_WOL_PACKET Enumerationswert, der den Typ des WOL-Pakets angibt.
Friendlyname
Enthält eine NDIS_PM_COUNTED_STRING-Struktur , die die benutzerlesbare Beschreibung des WOL-Pakets enthält.
PatternId
Enthält einen von NDIS bereitgestellten Wert, der das WOL-Muster identifiziert. Bevor NDIS die OID_PM_ADD_WOL_PATTERN OID-Anforderung an die zugrunde liegenden NDIS-Treiber sendet oder die Anforderung an den überliegenden Treiber abschließt, legt NDIS PatternId auf einen Wert fest, der unter den WOL-Mustern auf einem Netzwerkadapter eindeutig ist.
NextWoLPatternOffset
Enthält den Offset (vom Anfang der OID-Anforderung InformationBuffer) einer NDIS_PM_WOL_PATTERN-Struktur bis zur nächsten NDIS_PM_WOL_PATTERN-Struktur in einer Liste für die OID_PM_WOL_PATTERN_LIST OID. Weitere Informationen zu OID_PM_WOL_PATTERN_LIST finden Sie unter Abrufen der aktuellen Einstellungen von WOL-Mustern.
WoLPattern
Enthält eine der Strukturen IPv4TcpSynParameters, IPv6TcpSynParameters, EapolRequestIdMessageParameters oder WoLBitMapPattern in einer Union.
IPv4TcpSynParameters
Enthält INFORMATIONEN zur IPv4-TCP-Synchronisierung (SYN).
IPv6TcpSynParameters
Enthält IPv6-TCP-SYN-Informationen.
EapolRequestIdMessageParameters
Enthält 802.1X EAP over LAN (EAPOL)-Anforderungsidentitätsmeldungsparameter.
WoLBitMapPattern
Enthält eine WOL-Bitmapmusterspezifikation.
NDIS weist jedem WOL-Muster einen bezeichner zu, der für den Netzwerkadapter eindeutig ist. Der Musterbezeichner ist ein eindeutiger Wert für jedes Muster, das auf einem Netzwerkadapter festgelegt ist. Der Musterbezeichner ist jedoch nicht global für alle Netzwerkadapter eindeutig. NDIS übergibt den Bezeichner an den zugrunde liegenden Netzwerkadapter, wenn NDIS die OID_PM_ADD_WOL_PATTERN OID-Anforderung an den Miniporttreiber sendet. Wenn das WOL-Muster erfolgreich hinzugefügt wurde, gibt NDIS den Bezeichner an den übergeordneten Treiber zurück, der das WOL-Muster hinzugefügt hat. Der übersteigende Treiber verwendet den Bezeichner, um ein zuvor hinzugefügtes WOL-Muster zu entfernen. Der Musterbezeichner wird auch in status Hinweisen für die übergeordneten Treiber verwendet, wenn ein WOL-Muster aus einem Netzwerkadapter entfernt wird.
Protokolltreiber müssen die OID-Set-Anforderung von OID_PM_REMOVE_WOL_PATTERN ausgeben, um alle Muster zu entfernen, die sie einem Netzwerkadapter hinzugefügt haben, bevor sie eine Bindung an diesen Netzwerkadapter schließen. Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf einen Musterbezeichner.
Benutzermodusanwendungen verwenden die GUID_PM_REMOVE_WOL_PATTERN WMI-GUID, um ein zuvor hinzugefügtes WOL-Muster aus einem Netzwerkadapter zu entfernen. NDIS übersetzt diese WMI-Anforderung in die OID-Set-Anforderung von OID_PM_REMOVE_WOL_PATTERN für den Netzwerkadapter. NDIS löscht alle WOL-Muster, die eine Anwendung aus dem Netzwerkadapter hinzugefügt hat, bevor sie den Netzwerkadapter anhält.
NDIS ermöglicht es mehreren NDIS-Protokolltreibern, demselben Netzwerkadapter WOL-Muster hinzuzufügen. Um sicherzustellen, dass der richtige Satz von WOL-Mustern festgelegt wurde, wenn die Anzahl der angeforderten WOL-Muster höher ist als das, was ein Netzwerkadapter unterstützen kann, weisen Protokolltreiber jedem angeforderten WOL-Muster im Priority-Member der NDIS_PM_WOL_PATTERN-Struktur eine Priorität zu. Wenn NDIS kein neues WOL-Muster mit hoher Priorität hinzufügen kann, weil der Netzwerkadapter keine Ressourcen mehr hat, löscht NDIS eines der Muster mit niedrigerer Priorität (falls vorhanden) und versucht, das Muster mit hoher Priorität erneut hinzuzufügen.
Hinweis Ein Miniporttreiber sollte bei einer Musterzufügungsanforderung fehlschlagen und den STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL status Code zurückgeben, damit NDIS die Muster erneut priorisieren kann.
Wenn NDIS eines der Muster mit niedrigerer Priorität löscht, benachrichtigt es den übersteigenden Treiber, der das gelöschte Muster mit einer NDIS_STATUS_PM_WOL_PATTERN_REJECTED status Angabe festgelegt hat. Der StatusBuffer-Member der NDIS_STATUS_INDICATION-Struktur enthält eine ULONG für den WOL-Musterbezeichner des abgelehnten WOL-Musters. NDIS hat den WOL-Musterbezeichner im PatternId-Member der NDIS_PM_WOL_PATTERN-Struktur bereitgestellt.
Bei Drahtlosnetzwerkadaptern, die möglicherweise ein Infrastrukturelement zum Auslagern der Muster verwenden, während sie durch die Infrastruktur verschoben werden, unterstützt ein neues Infrastrukturelement möglicherweise nicht die gleichen Funktionen, und der Miniporttreiber kann eine NDIS_STATUS_PM_WOL_PATTERN_REJECTED status-Anzeige mit einem entsprechenden status Code senden.