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) |