共用方式為


NDIS_PM_WOL_PATTERN 結構 (ntddndis.h)

NDIS_PM_WOL_PATTERN結構會定義網路喚醒 (WOL) 模式。

語法

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;

成員

Header

NDIS_PM_WOL_PATTERN 結構的型別、修訂和大小。 此成員的格式為 NDIS_OBJECT_HEADER 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_PM_WOL_PATTERN結構的版本,驅動程式必須將 HeaderRevision 成員設定為下列值:

NDIS_PM_WOL_PATTERN_REVISION_2

對 NDIS 6.30 進行NDIS_PM_WOL_PACKET 列舉的修訂。

Size 成員設定為 NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2。

NDIS_PM_WOL_PATTERN_REVISION_1

NDIS 6.20 的原始版本。

Size 成員設定為 NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1。

Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

Priority

ULONG 值,其中包含 WOL 模式的優先順序。 如果過度使用驅動程式在沒有任何資源可供更多 WOL 模式使用時,增加較高的優先順序的 WOL 模式,NDIS 可能會移除優先順序較低的 WOL 模式來釋放資源。 迷你埠驅動程序應該忽略此成員。 通訊協定驅動程式可以指定預先定義範圍內的任何優先順序。 預先定義下列值:

NDIS_PM_WOL_PRIORITY_LOWEST

指定最低優先順序的 WOL 模式。

NDIS_PM_WOL_PRIORITY_NORMAL

指定一般優先順序的 WOL 模式。

NDIS_PM_WOL_PRIORITY_HIGHEST

指定最高優先順序的 WOL 模式。

WoLPacketType

指定 WOL 封包類型的 NDIS_PM_WOL_PACKET 列舉值。

FriendlyName

包含 WOL 封包使用者可讀取描述 的NDIS_PM_COUNTED_STRING 結構。

PatternId

ULONG 值,其中包含識別 WOL 模式的 NDIS 提供值。 在 NDIS 將 OID_PM_ADD_WOL_PATTERN OID 要求向下傳送至基礎 NDIS 驅動程式,或完成過度配置驅動程式的要求之前,NDIS 會將 PatternId 設定為網路適配器上 WOL 模式中唯一的值。

NextWoLPatternOffset

包含位移的 ULONG 值,以位元組為單位。 清單中每個NDIS_PM_WOL_PATTERN結構的 NextWoLPatternOffset 成員會設定為 OID 要求 InformationBuffer 開頭的位移 (,) 清單中下一個NDIS_PM_WOL_PATTERN結構。 如果 NextWoLPatternOffset 為零,則目前的結構是清單中的最後一個結構。

WoLPattern

包含下列成員結構的等位。

WoLPattern.IPv4TcpSynParameters

結構,包含IPv4 TCP SYN 資訊。 此結構包含下列成員:

WoLPattern.IPv4TcpSynParameters.Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

TCP SYN 封包中的 IPv4 來源位址。

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

TCP SYN 封包中的 IPv4 目的地位址。

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

TCP SYN 封包中的 TCP 來源埠號碼。

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

TCP SYN 封包中的 TCP 目的地埠號碼。

WoLPattern.IPv6TcpSynParameters

結構,包含IPv6 TCP SYN 資訊。 此結構包含下列成員:

WoLPattern.IPv6TcpSynParameters.Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

TCP SYN 封包中的 IPv6 來源位址。

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

TCP SYN 封包中的 IPv6 目的地位址。

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

TCP SYN 封包中的 TCP 來源埠。

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

TCP SYN 封包中的 TCP 目的地埠。

WoLPattern.EapolRequestIdMessageParameters

結構,包含 802.1X EAPOL 要求識別訊息參數。 此結構包含下列成員:

WoLPattern.EapolRequestIdMessageParameters.Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

WoLPattern.WoLBitMapPattern

結構,指定 WOL 位圖模式。 如需點陣圖模式的詳細資訊,請參閱一節。 結構具有下列成員:

WoLPattern.WoLBitMapPattern.Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

WoLPattern.WoLBitMapPattern.MaskOffset

遮罩緩衝區的位移,以位元組為單位,從NDIS_PM_WOL_PATTERN 結構的開頭。

遮罩會指定傳入封包中的位元組應該與點陣圖模式相符。 位掩碼中的每個位都會對應至模式中的位元元組。 如果位為零,則傳入封包中的對應位元組不應與模式相符。 如果位是一個,網路適配器會將位元組與傳入封包與模式中指定的位元組進行比較。

WoLPattern.WoLBitMapPattern.MaskSize

遮罩的大小,以位元組為單位。

WoLPattern.WoLBitMapPattern.PatternOffset

從NDIS_PM_WOL_PATTERN 結構開頭的模式緩衝區位移,以位元組為單位。

WoLPattern.WoLBitMapPattern.PatternSize

模式的大小,以位元組為單位。

_WOL_PATTERN

備註

NDIS_PM_WOL_PATTERN 結構用於 OID_PM_ADD_WOL_PATTERNOID_PM_WOL_PATTERN_LIST OID 要求中。

上層驅動程式可以使用 WoLBitMapPattern 成員來指定一般 WOL 模式。 點陣圖模式會指定為位元組序列和遮罩位圖。 遮罩中的每個位都會對應到模式中的位元元組,並指定傳入封包中的對應位元組是否應該與模式中對應的位元組相符。 如果網路適配器比對所比較的所有位元組,封包就是相符專案,而且網路適配器應該會產生喚醒事件。

上層驅動程式可以在IPv4TcpSynParameters成員結構中指定零填滿或未指定的IPv4 位址和TCP埠值。 如果NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED旗標是在 NDIS_PM_PARAMETERS 的 EnabledWoLPacketPatterns 成員中設定,則網路適配器必須使用未指定的位址或埠值,以符合 IPv4 TCP SYN 封包中的任何來源或目的地 IPv4 位址或 TCP 通訊埠值。

同樣地,上層驅動程式可以在 IPv6TcpSynParameters 成員結構中指定未指定的IPv6 位址和 TCP 連接埠值。 如果NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED旗標是在 NDIS_PM_PARAMETERS 的 EnabledWoLPacketPatterns 成員中設定,則網路適配器必須使用未指定的位址或埠值,以符合 IPv4 TCP SYN 封包中的任何來源或目的地 IPv6 位址或 TCP 通訊埠值。

上層驅動程式會發出OID_PM_PARAMETERS OID 的集合要求,來設定 NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED 和NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED旗標。

規格需求

需求
最低支援的用戶端 NDIS 6.20 和更新版本支援。
標頭 ntddndis.h (包含 Ntddndis.h)

另請參閱

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST