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 構造体として書式設定されます。
ミニポート ドライバーは、ヘッダー の 型 メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_PM_WOL_PATTERN 構造体のバージョンを指定するには、ドライバーは、ヘッダー の リビジョン メンバーを次の値に設定する必要があります。
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
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 メンバー構造で、ゼロフィルまたは 指定されていない、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 を含む) |