NDIS_PM_WOL_PATTERN-Struktur (ntddndis.h)

Die NDIS_PM_WOL_PATTERN-Struktur definiert ein Wake-on-LAN-Muster (WOL).

Syntax

typedef struct _NDIS_PM_WOL_PATTERN {
  NDIS_OBJECT_HEADER     Header;
  ULONG                  Flags;
  ULONG                  Priority;
  NDIS_PM_WOL_PACKET     WoLPacketType;
  NDIS_PM_COUNTED_STRING FriendlyName;
  ULONG                  PatternId;
  ULONG                  NextWoLPatternOffset;
  union {
    struct {
      ULONG  Flags;
      UCHAR  IPv4SourceAddress[4];
      UCHAR  IPv4DestAddress[4];
      USHORT TCPSourcePortNumber;
      USHORT TCPDestPortNumber;
    } IPv4TcpSynParameters;
    struct {
      ULONG  Flags;
      UCHAR  IPv6SourceAddress[16];
      UCHAR  IPv6DestAddress[16];
      USHORT TCPSourcePortNumber;
      USHORT TCPDestPortNumber;
    } IPv6TcpSynParameters;
    struct {
      ULONG Flags;
    } EapolRequestIdMessageParameters;
    struct {
      ULONG Flags;
      ULONG MaskOffset;
      ULONG MaskSize;
      ULONG PatternOffset;
      ULONG PatternSize;
    } WoLBitMapPattern;
  } WoLPattern;
  _WOL_PATTERN           _WOL_PATTERN;
} NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN;

Member

Header

Typ, Revision und Größe der NDIS_PM_WOL_PATTERN-Struktur . Dieser Member 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_WOL_PATTERN-Struktur anzugeben, muss der Treiber den Revisionsmember von Header auf den folgenden Wert festlegen:

NDIS_PM_WOL_PATTERN_REVISION_2

Überarbeitungen an der NDIS_PM_WOL_PACKET-Enumeration für NDIS 6.30.

Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2 fest.

NDIS_PM_WOL_PATTERN_REVISION_1

Originalversion für NDIS 6.20.

Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1 fest.

Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

Priority

Ein ULONG-Wert, der die Priorität des WOL-Musters enthält. 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 liegt. Die folgenden Werte sind vordefiniert:

NDIS_PM_WOL_PRIORITY_LOWEST

Gibt das WOL-Muster mit der niedrigsten Priorität an.

NDIS_PM_WOL_PRIORITY_NORMAL

Gibt ein WOL-Muster mit normaler Priorität an.

NDIS_PM_WOL_PRIORITY_HIGHEST

Gibt das WOL-Muster mit der höchsten Priorität an.

WoLPacketType

Ein NDIS_PM_WOL_PACKET Enumerationswert, der den Typ des WOL-Pakets angibt.

FriendlyName

Eine NDIS_PM_COUNTED_STRING Struktur, die die benutzerlesbare Beschreibung des WOL-Pakets enthält.

PatternId

Ein ULONG-Wert, der einen von NDIS bereitgestellten Wert enthält, 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

Ein ULONG-Wert, der einen Offset in Bytes enthält. Das NextWoLPatternOffset-Element jeder NDIS_PM_WOL_PATTERN-Struktur in einer Liste wird auf den Offset (vom Anfang der OID-Anforderung InformationBuffer) der nächsten NDIS_PM_WOL_PATTERN-Struktur in der Liste festgelegt. Wenn NextWoLPatternOffset null ist, ist die aktuelle Struktur die letzte Struktur in der Liste.

WoLPattern

Eine Union, die die folgenden Memberstrukturen enthält.

WoLPattern.IPv4TcpSynParameters

Eine Struktur, die IPv4 TCP SYN-Informationen enthält. Diese Struktur enthält die folgenden Member:

WoLPattern.IPv4TcpSynParameters.Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

Die IPv4-Quelladresse im TCP SYN-Paket.

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

Die IPv4-Zieladresse im TCP-SYN-Paket.

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

Die TCP-Quellportnummer im TCP SYN-Paket.

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

Die TCP-Zielportnummer im TCP SYN-Paket.

WoLPattern.IPv6TcpSynParameters

Eine -Struktur, die IPv6-TCP-SYN-Informationen enthält. Diese Struktur enthält die folgenden Member:

WoLPattern.IPv6TcpSynParameters.Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

Die IPv6-Quelladresse im TCP SYN-Paket.

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

Die IPv6-Zieladresse im TCP SYN-Paket.

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

Der TCP-Quellport im TCP SYN-Paket.

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

Der TCP-Zielport im TCP SYN-Paket.

WoLPattern.EapolRequestIdMessageParameters

Eine Struktur, die 802.1X EAPOL-Anforderungsidentitätsmeldungsparameter enthält. Diese Struktur enthält die folgenden Member:

WoLPattern.EapolRequestIdMessageParameters.Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

WoLPattern.WoLBitMapPattern

Eine -Struktur, die ein WOL-Bitmapmuster angibt. Weitere Informationen zu Bitmapmustern finden Sie im Abschnitt Hinweise. Die -Struktur verfügt über die folgenden Member:

WoLPattern.WoLBitMapPattern.Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.

WoLPattern.WoLBitMapPattern.MaskOffset

Der Offset in Bytes für einen Maskenpuffer vom Anfang der NDIS_PM_WOL_PATTERN-Struktur.

Die Maske gibt an, welche Bytes in eingehenden Paketen mit dem Bitmapmuster abgeglichen werden sollen. Jedes Bit in der Bitmaske entspricht einem Byte im Muster. Wenn ein Bit null ist, sollte das entsprechende Byte im eingehenden Paket nicht mustergeglichen werden. Wenn das Bit eins ist, vergleicht der Netzwerkadapter das Byte mit dem eingehenden Paket mit dem im Muster angegebenen Byte.

WoLPattern.WoLBitMapPattern.MaskSize

Die Größe der Maske in Byte.

WoLPattern.WoLBitMapPattern.PatternOffset

Der Offset in Bytes für einen Musterpuffer vom Anfang der NDIS_PM_WOL_PATTERN-Struktur.

WoLPattern.WoLBitMapPattern.PatternSize

Die Größe des Musters in Bytes.

_WOL_PATTERN

Hinweise

Die NDIS_PM_WOL_PATTERN-Struktur wird in den OID_PM_ADD_WOL_PATTERN - und OID_PM_WOL_PATTERN_LIST OID-Anforderungen verwendet.

Ein Treiber der oberen Ebene kann ein generisches WOL-Muster mit dem WoLBitMapPattern-Element angeben. Ein Bitmapmuster wird als Bytesequenz und eine Maskenbitbitbit angegeben. Jedes Bit in der Maske entspricht einem Byte im Muster und gibt an, ob das entsprechende Byte im eingehenden Paket mit dem entsprechenden Byte im Muster abgeglichen werden soll. Wenn alle vom Netzwerkadapter verglichenen Bytes übereinstimmen, ist das Paket eine Übereinstimmung, und der Netzwerkadapter sollte ein Aktivierungsereignis generieren.

Ein Treiber der oberen Ebene kann in der IPv4TcpSynParameters-Memberstruktur einen nullgefüllten oder nicht angegebenen IPv4-Adress- und TCP-Portwert angeben. Wenn das NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED-Flag im EnabledWoLPacketPatterns-Member des NDIS_PM_PARAMETERS festgelegt ist, muss der Netzwerkadapter die nicht angegebene Adresse oder den Portwert verwenden, um alle IPv4-Quell- oder Ziel-IPv4-Adressen oder TCP-Portwerte im IPv4 TCP SYN-Paket abzugleichen.

Ebenso kann ein Treiber der oberen Ebene eine nicht angegebene IPv6-Adresse und TCP-Portwerte in der IPv6TcpSynParameters-Memberstruktur angeben. Wenn das flag NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED im EnabledWoLPacketPatterns-Member des NDIS_PM_PARAMETERS festgelegt ist, muss der Netzwerkadapter die nicht angegebene Adresse oder den Portwert verwenden, um alle IPv6-Quell- oder Ziel-IPv6-Adressen oder TCP-Portwerte im IPv4 TCP SYN-Paket abzugleichen.

Der Treiber der oberen Ebene legt die NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED- und NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED-Flags fest, indem eine set-Anforderung der OID_PM_PARAMETERS OID ausgegeben wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.20 und höher.
Kopfzeile ntddndis.h (include Ntddndis.h)

Weitere Informationen

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST