NDIS_PM_CAPABILITIES-Struktur (ntddndis.h)
Die NDIS_PM_CAPABILITIES-Struktur gibt die Energieverwaltungsfunktionen eines Netzwerkadapters an.
Syntax
typedef struct _NDIS_PM_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG SupportedWoLPacketPatterns;
ULONG NumTotalWoLPatterns;
ULONG MaxWoLPatternSize;
ULONG MaxWoLPatternOffset;
ULONG MaxWoLPacketSaveBuffer;
ULONG SupportedProtocolOffloads;
ULONG NumArpOffloadIPv4Addresses;
ULONG NumNSOffloadIPv6Addresses;
NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
ULONG SupportedWakeUpEvents;
ULONG MediaSpecificWakeUpEvents;
} NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;
Member
Header
Der Typ, die Revision und die Größe der NDIS_PM_CAPABILITIES-Struktur . Dieses Element ist als NDIS_OBJECT_HEADER-Struktur formatiert.
Der Miniporttreiber muss das Type-Element von Header auf NDIS_OBJECT_TYPE_DEFAULT festlegen. Um die Version der NDIS_PM_CAPABILITIES-Struktur anzugeben, muss der Treiber das Revisionselement des Headers auf den folgenden Wert festlegen:
NDIS_PM_CAPABILITIES_REVISION_2
Verschiedene Änderungen für NDIS 6.30 wurden hinzugefügt.
Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 fest.
NDIS_PM_CAPABILITIES_REVISION_1
Ursprüngliche Version für NDIS 6.20.
Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1 fest.
Flags
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Für NDIS 6.20 ist dieses Element für NDIS reserviert.
Ab NDIS 6.30 werden die folgenden Flags definiert:
NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED
Wenn dieses Flag festgelegt ist, muss der Netzwerkadapter in der Lage sein, das empfangene Paket zu speichern, durch das der Adapter ein Aktivierungsereignis generiert hat.
Wenn dieses Flag festgelegt ist, muss der Miniporttreiber in der Lage sein, folgendes mit diesem Paket zu tun, nachdem der Netzwerkadapter in einen Vollstromzustand überwechselt hat:
- Der Miniporttreiber muss in der Lage sein, das Paket anzugeben, indem er NdisMIndicateReceiveNetBufferLists aufruft.
- Der Miniporttreiber muss in der Lage sein, eine NDIS_STATUS_PM_WAKE_REASON status Anzeige auszusetzen und das Paket mit dem Hinweis zu übergeben.
NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED
Wenn dieses Flag festgelegt ist, unterstützt der Miniporttreiber das selektive Anhalten von NDIS für Netzwerkadapter.
Weitere Informationen zu dieser Energieverwaltungsfunktion finden Sie unter Selektives Anhalten von NDIS.
SupportedWoLPacketPatterns
Ein ULONG-Wert, der ein bitweises OR mit Flags enthält, die die von einem Netzwerkadapter unterstützten WOL-Muster (Wake-on-LAN) angeben. Miniporttreiber verwenden diese Flags, um paketbasierte WOL-Muster anzukündigen, die ein Netzwerkadapter unterstützt.
Weitere Informationen zu diesem Member finden Sie im Abschnitt Hinweise. Weitere Informationen zu WOL-Mustern finden Sie unter NDIS_PM_WOL_PATTERN.
NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED
Der Netzwerkadapter kann ein Aktivierungsereignis generieren, wenn er ein Paket empfängt, das einem konfigurierten Bitmapmuster entspricht.
NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED
Der Netzwerkadapter kann ein Aktivierungsereignis generieren, wenn er ein WOL-Magic-Paket empfängt. Ein Magic-Paket enthält in seiner Nutzlast eine Zeichenfolge von sechs Bytes mit dem Wert 0xFF, gefolgt von 16 zusammenhängenden Kopien der Ethernet-Adresse des empfangenden Netzwerkadapters.
NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED
Der Netzwerkadapter kann ein Aktivierungsereignis generieren, wenn er ein IPv4 TCP SYN-Paket empfängt. Remotehosts senden TCP SYN-Pakete, um eine TCP-Verbindung mit dem lokalen Computer zu initiieren.
NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED
Der Netzwerkadapter kann ein Aktivierungsereignis generieren, wenn er ein IPv6-TCP-SYN-Paket empfängt.
NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED
Wenn dieses Flag festgelegt ist, unterstützt der Netzwerkadapter als Feldhalterwerte alle nullgefüllten oder nicht angegebenen Werte für IPv4-Adressen und TCP/UDP-Ports in einem WOL-Muster. Auf diese Weise stimmt der Wildcardwert mit jeder IPv4-Adresse und jedem Portwert des eingehenden Pakets an dem Speicherort überein, der durch das WOL-Muster angegeben wird.
Wenn ein Netzwerkadapter ein IPv4-basiertes Wake on LAN-Paketmuster unterstützt, z. B. ein IPv4 TCP SYN-Muster, muss er die Generierung eines Aktivierungsereignisses unterstützen, wenn die IPv4-Adressen und Portwerte des eingehenden Pakets mit den im Aktivierungsmuster angegebenen Übereinstimmen.
Wenn jedoch das NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED-Flag festgelegt ist, kann der Netzwerkadapter auch ein Aktivierungsereignis generieren, wenn die folgenden Musterabgleichsbedingungen zutreffen:
- Jeder Wert aus dem eingehenden Paket an dem Speicherort, der durch das WOL-Muster angegeben wird, ist eine Übereinstimmung, wenn das WOL-Muster für diesen Speicherort einen Feldhalterwert enthält.
- Ein Wert aus dem eingehenden Paket an dem Speicherort, der durch das WOL-Muster angegeben wird, ist eine Übereinstimmung, wenn das WOL-Muster für diesen Speicherort einen nonzero-Wert enthält, der dem Wert des Pakets entspricht.
NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED
Wenn dieses Flag festgelegt ist, unterstützt der Netzwerkadapter als Feldhalterwerte alle nullgefüllten oder nicht angegebenen Werte für IPv6-Adressen und TCP/UDP-Ports in einem WOL-Muster. Auf diese Weise entspricht der Feldhalterwert jeder IPv6-Adresse und jedem Portwert des eingehenden Pakets an dem Speicherort, der durch das WOL-Muster angegeben wird.
Wenn ein Netzwerkadapter ein IPv6-basiertes Wake-on-LAN-Paketmuster unterstützt, z. B. ein IPv6-TCP-SYN-Muster, muss er die Generierung eines Aktivierungsereignisses unterstützen, wenn die IPv6-Adressen und Portwerte des eingehenden Pakets mit denen übereinstimmen, die im Aktivierungsmuster angegeben sind.
Wenn jedoch das NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED-Flag festgelegt ist, kann der Netzwerkadapter auch ein Aktivierungsereignis generieren, wenn die folgenden Musterabgleichsbedingungen zutreffen:
- Jeder Wert aus dem eingehenden Paket an dem Speicherort, der durch das WOL-Muster angegeben wird, ist eine Übereinstimmung, wenn das WOL-Muster für diesen Speicherort einen Feldhalterwert enthält.
- Ein Wert aus dem eingehenden Paket an dem Speicherort, der durch das WOL-Muster angegeben wird, ist eine Übereinstimmung, wenn das WOL-Muster für diesen Speicherort einen nonzero-Wert enthält, der dem Wert des Pakets entspricht.
NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED
Der Netzwerkadapter kann ein Aktivierungsereignis generieren, wenn er eine EAPOL-Anforderungsbezeichnermeldung empfängt.
NumTotalWoLPatterns
Ein ULONG-Wert , der die Gesamtanzahl von WOL-Mustern enthält, die ein Netzwerkadapter unterstützt. Dies ist die Summe aus "Anzahl der unterstützten WOL-Protokollmuster" und "Anzahl der unterstützten WOL-Bitmapmuster".
Wenn Ihr Treiber beispielsweise 8 flexible Bitmapmuster, IPv4 TCP SYN (über voreingestellten Filter) und Magic Packet unterstützt, würden Sie 9 in NumTotalWoLPatterns melden. (8 Bitmaps + 1 IPv4 TCP SYN = 9)
MaxWoLPatternSize
Ein ULONG-Wert, der die maximale Anzahl von Bytes enthält, die mit einem Muster verglichen werden können.
MaxWoLPatternOffset
Ein ULONG-Wert, der die Anzahl der Bytes in einem Paket enthält, die untersucht werden können, beginnend mit dem Anfang des MAC-Headers.
MaxWoLPacketSaveBuffer
Ein ULONG-Wert, der die Anzahl der Bytes eines WOL-Pakets enthält, das ein Miniporttreiber in einem Puffer speichern kann und den Treiberstapel angibt. Dieser Wert muss kleiner oder gleich der Größe der maximalen Übertragungseinheit (MTU) für die Netzwerkmedien in Bytes sein. Der Treiber meldet die MTU-Größe über OID-Abfrageanforderungen von OID_GEN_MAXIMUM_FRAME_SIZE.
SupportedProtocolOffloads
Ein ULONG-Wert , der ein bitweises OR von Flags enthält, die die von einem Netzwerkadapter unterstützten Protokollauslagerungsfeatures angeben. Miniporttreiber verwenden diese Flags, um die Protokollauslagerungsfunktionen eines Netzwerkadapters mit geringer Leistung zu melden.
NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED
Wenn dieses Bit festgelegt ist, kann der Netzwerkadapter auf IPv4-ARP-Pakete reagieren, während er sich in einem Energiesparzustand befindet.
Weitere Informationen zum ARP-Protokoll finden Sie unter RFC 826.
NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED
Wenn dieses Bit festgelegt ist, kann der Netzwerkadapter auf IPv6 Neighbor Solicitation(NS)-Pakete reagieren, während er sich in einem Zustand mit geringer Leistung befindet.
Weitere Informationen zu IPv6-NS-Nachrichten finden Sie unter RFC 4861.
NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED
Der Netzwerkadapter kann auf anforderungen von IEEE 802.11i Robust Security Network (RSN) nach erneuten Schlüsseln reagieren, während er sich in einem Zustand mit geringer Leistung befindet.
NumArpOffloadIPv4Addresses
Ein ULONG-Wert , der die Anzahl von IPv4-Adressen enthält, die der Adapter für die ARP-Auslagerung unterstützt.
NumNSOffloadIPv6Addresses
Ein ULONG-Wert , der die Anzahl der vom Adapter unterstützten IPv6-NS-Auslagerungsanforderungen enthält. Dies sollte mindestens 2 sein.
MinMagicPacketWakeUp
Gibt den niedrigsten Geräteleistungsstatus an, von dem aus ein Netzwerkadapter beim Empfang eines Magic-Pakets ein Aktivierungsereignis signalisieren kann. Ein Magic-Paket enthält in seiner Nutzlast eine Zeichenfolge von sechs Bytes mit dem Wert 0xFF, gefolgt von 16 zusammenhängenden Kopien der MAC-Adresse des empfangenden Netzwerkadapters.
NdisDeviceStateUnspecified
Der Netzwerkadapter unterstützt keine Magic Packet Wake-Ups.
NdisDeviceStateD0
Der Netzwerkadapter kann eine Magische Paketreaktivierung aus dem Gerätestromzustand D0 signalisieren. Da D0 der vollständig unterstützte Zustand ist, führt dies nicht zu einer Aktivierung, kann aber als Laufzeitereignis verwendet werden.
NdisDeviceStateD1
Der Netzwerkadapter kann eine Aktivierung des Magic-Pakets aus dem Geräteleistungszustand D1 signalisieren.
NdisDeviceStateD2
Der Netzwerkadapter kann eine Magische Paketreaktivierung aus dem Gerätezustand D2 signalisieren.
NdisDeviceStateD3
Der Netzwerkadapter kann eine Aktivierung des Magic-Pakets aus einem Geräteleistungszustand von D3 signalisieren.
MinPatternWakeUp
Gibt den niedrigsten Geräteleistungszustand an, von dem aus ein Netzwerkadapter beim Empfang eines Netzwerkframes ein Aktivierungsereignis signalisieren kann, das ein vom Protokolltreiber angegebenes Muster enthält. Der Energiezustand wird als einer der folgenden NDIS_DEVICE_POWER_STATE Werte angegeben:
NdisDeviceStateUnspecified
Der Netzwerkadapter unterstützt keine Muster-Match-Reaktivierungen.
NdisDeviceStateD0
Der Netzwerkadapter kann eine Muster-Übereinstimmungsreaktivierung aus dem Gerätestromzustand D0 signalisieren. Da D0 der vollständig unterstützte Zustand ist, führt dies nicht zu einer Aktivierung, kann aber als Laufzeitereignis verwendet werden.
NdisDeviceStateD1
Der Netzwerkadapter kann eine Muster-Übereinstimmungsreaktivierung aus einem Geräteleistungszustand von D1 signalisieren.
NdisDeviceStateD2
Der Netzwerkadapter kann eine Muster-Übereinstimmungsreaktivierung aus einem Geräteleistungszustand von D2 signalisieren.
NdisDeviceStateD3
Der Netzwerkadapter kann eine Muster-Übereinstimmungsreaktivierung aus einem Geräteleistungszustand von D3 signalisieren.
MinLinkChangeWakeUp
Ab NDIS 6.20 gibt dieser Member den niedrigsten Geräteleistungszustand an, aus dem ein Netzwerkadapter ein Aktivierungsereignis signalisieren kann, wenn sich der Verbindungszustand von getrennten Medien in verbundene Medien ändert.
Ab NDIS 6.30 gibt dieser Member den niedrigsten Geräteleistungszustand an, aus dem ein Netzwerkadapter Aktivierungsereignisse signalisieren kann. Diese Ereignisse werden im SupportedWakeUpEvents-Element angegeben.
Der Energiezustand wird als einer der folgenden NDIS_DEVICE_POWER_STATE Werte angegeben:
NdisDeviceStateUnspecified
Der Netzwerkadapter unterstützt keine Aktivierung von Verbindungsänderungen.
NdisDeviceStateD0
Der Netzwerkadapter kann eine Verbindungsänderungsaktivierung aus dem Gerätestromzustand D0 signalisieren. Da D0 der vollständig unterstützte Zustand ist, führt dies nicht zu einer Aktivierung, kann aber als Laufzeitereignis verwendet werden.
NdisDeviceStateD1
Der Netzwerkadapter kann eine Verbindungsänderungsreaktivierung aus dem Geräteleistungszustand D1 signalisieren.
NdisDeviceStateD2
Der Netzwerkadapter kann eine Verbindungsänderungsaktivierung aus dem Geräteleistungszustand D2 signalisieren.
NdisDeviceStateD3
Der Netzwerkadapter kann eine Verbindungsänderungsaktivierung aus dem Geräteleistungszustand D3 signalisieren.
SupportedWakeUpEvents
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Diese Flags geben die medienunabhängigen Aktivierungsereignisse an, die ein Netzwerkadapter unterstützt. Diese Ereignisse sind nicht spezifisch für den Medientyp.
Ab NDIS 6.30 werden die folgenden Flags definiert:
NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der Netzwerkadapter ein Aktivierungsereignis generieren, wenn er mit der Netzwerkschnittstelle verbunden wird.
NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der Netzwerkadapter ein Aktivierungsereignis generieren, wenn die Verbindung mit der Netzwerkschnittstelle getrennt wird.
MediaSpecificWakeUpEvents
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Diese Flags geben die medienspezifischen Aktivierungsereignisse an, die von einem Netzwerkadapter unterstützt werden.
Ab NDIS 6.30 werden die folgenden Flags definiert:
NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der 802.11-Netzwerkadapter ein Aktivierungsereignis generieren, wenn er einen Dienstsatzbezeichner (Service Set Identifier, SSID) erkennt, der über eine Netzwerklistenauslagerung (Network List Offload, NLO) angegeben wurde.
Weitere Informationen zu NLO finden Sie unter WLAN-Network List Offload.
NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der 802.11-Netzwerkadapter ein Aktivierungsereignis generieren, wenn er die Zuordnung zum Zugriffspunkt (Access Point, AP) auflöst.
NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der 802.11-Netzwerkadapter ein Aktivierungsereignis generieren, wenn während des IEEE 802.11i RSN Group Transient Key (GTK)-Handshake mit dem AP ein Fehler auftritt.
NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der 802.11-Netzwerkadapter ein Aktivierungsereignis generieren, wenn er den ersten Frame des IEEE 802.11i RSN 4-Wege-Handshake mit dem AP empfängt. Dieser Handshake wird ausgeführt, wenn sich der Adapter beim AP authentifiziert.
NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der Netzwerkadapter für mobiles Breitband (MB) ein Aktivierungsereignis generieren, wenn sich der Registrierungsstatus des MB-Diensts geändert hat.
NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der MB-Netzwerkadapter ein Aktivierungsereignis generieren, wenn der MB-Dienst über den Empfang einer SMS-Nachricht (Short Message Service) benachrichtigt werden muss. Der Adapter generiert dieses Aktivierungsereignis entweder nach Abschluss einer zuvor ausgestellten OID_WWAN_SMS_READ-Abfrageanforderung oder dem Eingang einer neuen Class-0-Nachricht (Flash/Warnung) vom Netzwerkanbieter als Ereignisbenachrichtigung.
NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED
Wenn dieses Flag festgelegt ist, kann der MB-Netzwerkadapter ein Aktivierungsereignis generieren, wenn er eine USSD-Nachricht (Unstructured Supplementary Service Data) empfängt.
Hinweise
Die NDIS_PM_CAPABILITIES-Struktur wird im PowerManagementCapabilitiesEx-Element des NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES und NDIS_BIND_PARAMETERS Strukturen und in der NDIS_STATUS_PM_CAPABILITIES_CHANGE status Hinweis.
Während der Miniportinitialisierung initialisiert der Miniporttreiber eine NDIS_PM_CAPABILITIES-Struktur mit den Energieverwaltungsfunktionen der Netzwerkadapterhardware. Der Miniporttreiber legt dann den PowerManagementCapabilitiesEx-Member der NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-Struktur so fest, dass er auf die initialisierte NDIS_PM_CAPABILITIES-Struktur verweist.
Ein überlastender Treiber sollte nicht versuchen, Funktionen zu aktivieren, die von einem Netzwerkadapter nicht unterstützt werden. Damit ein überlastender Treiber bestimmen kann, welche Funktionen ein Netzwerkadapter bietet, stellt NDIS die Funktionen im PowerManagementCapabilitiesEx-Member der NDIS_BIND_PARAMETERS-Struktur bereit.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Kopfzeile | ntddndis.h (include Ntddndis.h) |