NDIS_PM_WOL_PATTERN 構造体 (ntddndis.h)

NDIS_PM_WOL_PATTERN構造体は、wake-on-LAN (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 構造体として書式設定されます。

ミニポート ドライバーは、ヘッダーType メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_PM_WOL_PATTERN構造体のバージョンを指定するには、ドライバーで HeaderRevision メンバーを次の値に設定する必要があります。

NDIS_PM_WOL_PATTERN_REVISION_2

NDIS 6.30 の NDIS_PM_WOL_PACKET 列挙体に加えられたリビジョン。

[サイズ] メンバーを [NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2] に設定します。

NDIS_PM_WOL_PATTERN_REVISION_1

NDIS 6.20 の元のバージョン。

[サイズ] メンバーを [NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1] に設定します。

Flags

フラグのビットごとの OR を含む ULONG 値。 このメンバーは NDIS 用に予約されています。

Priority

WOL パターンの優先度を含む ULONG 値。 より多くの 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

WOL パターンを識別する NDIS 指定の値を含む ULONG 値。 NDIS は 、基 になる NDIS ドライバーにOID_PM_ADD_WOL_PATTERN OID 要求を送信するか、上にあるドライバーへの要求を完了する前に、ネットワーク アダプターの WOL パターン間で一意の値に PatternId を設定します。

NextWoLPatternOffset

オフセットを含む ULONG 値 (バイト単位)。 リスト内の各NDIS_PM_WOL_PATTERN構造体の NextWoLPatternOffset メンバーは、リスト内の次のNDIS_PM_WOL_PATTERN構造体のオフセット (OID 要求 InformationBuffer の先頭から) に設定されます。 NextWoLPatternOffset が 0 の場合、現在の構造体はリスト内の最後の構造体です。

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 要求 ID メッセージ パラメーターを含む構造体。 この構造体には、次のメンバーが含まれています。

WoLPattern.EapolRequestIdMessageParameters.Flags

フラグのビットごとの OR を含む ULONG 値。 このメンバーは NDIS 用に予約されています。

WoLPattern.WoLBitMapPattern

WOL ビットマップ パターンを指定する 構造体。 ビットマップ パターンの詳細については、「解説」セクションを参照してください。 構造体には、次のメンバーがあります。

WoLPattern.WoLBitMapPattern.Flags

フラグのビットごとの OR を含む ULONG 値。 このメンバーは NDIS 用に予約されています。

WoLPattern.WoLBitMapPattern.MaskOffset

NDIS_PM_WOL_PATTERN構造体の先頭からのマスク バッファーのオフセット (バイト単位)。

マスクは、受信パケット内のどのバイトをビットマップ パターンと照合するかを指定します。 ビットマスク内の各ビットは、パターン内のバイトに対応します。 ビットが 0 の場合、受信パケット内の対応するバイトはパターンマッチングされません。 ビットが 1 の場合、ネットワーク アダプターは、バイトを受信パケットとパターンで指定されたバイトと比較します。

WoLPattern.WoLBitMapPattern.MaskSize

マスクのサイズ (バイト単位)。

WoLPattern.WoLBitMapPattern.PatternOffset

NDIS_PM_WOL_PATTERN構造体の先頭からのパターン バッファーのオフセット (バイト単位)。

WoLPattern.WoLBitMapPattern.PatternSize

パターンのサイズ (バイト単位)。

_WOL_PATTERN

注釈

NDIS_PM_WOL_PATTERN構造体は、 OID_PM_ADD_WOL_PATTERN および OID_PM_WOL_PATTERN_LIST OID 要求で使用されます。

上位層ドライバーでは、 WoLBitMapPattern メンバーを使用して汎用の WOL パターンを指定できます。 ビットマップ パターンは、バイト シーケンスとマスク ビットマップとして指定されます。 マスク内の各ビットは、パターン内のバイトに対応し、受信パケット内の対応するバイトをパターン内の対応するバイトと照合するかどうかを指定します。 ネットワーク アダプターで比較されたすべてのバイトが一致する場合、パケットは一致し、ネットワーク アダプターはウェイクアップ イベントを生成する必要があります。

上位層ドライバーは、IPv4TcpSynParameters メンバー構造体で、0 で埋められた、または指定されていない IPv4 アドレスと TCP ポートの値を指定できます。 NDIS_PM_PARAMETERSの EnabledWoLPacketPatterns メンバーでNDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED フラグが設定されている場合、ネットワーク アダプターは、指定されていないアドレスまたはポート値を使用して、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 以降でサポートされています。
Header 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