NDIS_PM_PROTOCOL_OFFLOAD 構造体 (ntddndis.h)

NDIS_PM_PROTOCOL_OFFLOAD構造体は、ネットワーク アダプターへの低電力プロトコル オフロードのパラメーターを指定します。

構文

typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
  NDIS_OBJECT_HEADER            Header;
  ULONG                         Flags;
  ULONG                         Priority;
  NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
  NDIS_PM_COUNTED_STRING        FriendlyName;
  ULONG                         ProtocolOffloadId;
  ULONG                         NextProtocolOffloadOffset;
  union {
    struct {
      ULONG Flags;
      UCHAR RemoteIPv4Address[4];
      UCHAR HostIPv4Address[4];
      UCHAR MacAddress[6];
    } IPv4ARPParameters;
    struct {
      ULONG Flags;
      UCHAR RemoteIPv6Address[16];
      UCHAR SolicitedNodeIPv6Address[16];
      UCHAR MacAddress[6];
      UCHAR TargetIPv6Addresses[2][16];
    } IPv6NSParameters;
    struct {
      ULONG     Flags;
      UCHAR     KCK[DOT11_RSN_KCK_LENGTH];
      UCHAR     KEK[DOT11_RSN_KEK_LENGTH];
      ULONGLONG KeyReplayCounter;
    } Dot11RSNRekeyParameters;
    struct {
      ULONG     Flags;
      ULONGLONG KeyReplayCounter;
      ULONG     AuthAlgo;
      ULONG     KCKLength;
      ULONG     KEKLength;
      UCHAR     KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
      UCHAR     KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
    } Dot11RSNRekeyParametersV2;
  } ProtocolOffloadParameters;
  _PROTOCOL_OFFLOAD_PARAMETERS  _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;

メンバー

Header

NDIS_PM_PROTOCOL_OFFLOAD構造体のNDIS_OBJECT_HEADER構造体。 ドライバーは 、Type メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定します。

NDIS_PM_PROTOCOL_OFFLOAD構造体のバージョンを示すには、HeaderRevision メンバーを次のいずれかの値に設定します。

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2

NDIS 6.84 の Dot11RSNRekeyParametersV2 構造体を追加しました。

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

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1

NDIS 6.20 以降の元のバージョン。

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

Flags

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

Priority

プロトコル オフロードの優先度を含む ULONG 値。 より多くのプロトコル オフロードに使用できるリソースがない場合に、上にあるドライバーにより高い優先順位のプロトコル オフロードが追加された場合、NDIS は、低優先度のプロトコル オフロードを解放するリソースを削除する可能性があります。 ミニポート ドライバーは、このメンバーを無視する必要があります。 プロトコル ドライバーは、定義済みの範囲内の任意の値を提供できます。 次の値が定義済みです。

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST

最も優先度の低いプロトコル オフロードを指定します。

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL

通常の優先度プロトコル オフロードを指定します。

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST

最も優先度の高いプロトコル オフロードを指定します。

ProtocolOffloadType

An プロトコル オフロードの 種類を含む値をNDIS_PM_PROTOCOL_OFFLOAD_TYPEします。

FriendlyName

低電力プロトコル オフロードのユーザーが判読できる説明を含むNDIS_PM_COUNTED_STRING構造体。

ProtocolOffloadId

オフロードされたプロトコルを識別する NDIS 提供の値を含む ULONG 値。 NDIS は、基になる NDIS ドライバーに OID_PM_ADD_PROTOCOL_OFFLOAD OID 要求を送信するか、または上にあるドライバーに要求を完了する前に、ネットワーク アダプター上のプロトコル オフロード間で一意の値に ProtocolOffloadId を設定します。

NextProtocolOffloadOffset

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

ProtocolOffloadParameters

次のメンバー構造体を含む共用体。

ProtocolOffloadParameters.IPv4ARPParameters

IPv4 ARP パラメーターを含む構造体。 この構造体には、次のメンバーが含まれています。

ProtocolOffloadParameters.IPv4ARPParameters.Flags

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

ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]

オプションの IPv4 アドレスを含む UCHAR 配列。 このアドレスは、ARP 要求のソース プロトコル アドレス (SPA) フィールドを表します。

受信 ARP 要求にこの IPv4 アドレスと一致する SPA 値がある場合、ネットワーク アダプターは低電力状態のときに ARP 応答を送信します。 このメンバーが 0 の場合、ネットワーク アダプターは任意のリモート IPv4 アドレスからの ARP 要求に応答する必要があります。

ARP プロトコルの詳細については、RFC 826 を参照してください。

ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]

IPv4 アドレスを含む UCHAR 配列。 ARP 応答を送信すると、ネットワーク アダプターは応答の SPA フィールドにこのメンバーを使用します。

ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]

メディア アクセス制御 (MAC) アドレスを含む UCHAR 配列。 ネットワーク アダプターは、生成する ARP 応答パケットのソース ハードウェア アドレス (SHA) フィールドにこの MAC アドレスを使用します。

メモ ARP 応答を送信する場合、ネットワーク アダプターは常に ARP ペイロードでこの MAC アドレスを使用する必要があります。 ただし、MAC ヘッダーの送信元アドレスとして、ネットワーク アダプターの現在の MAC アドレスを使用する必要があります。
 

ProtocolOffloadParameters.IPv6NSParameters

IPv6 近隣要請 (NS) パラメーターを含む構造体。 この構造体には、次のメンバーが含まれています。

ProtocolOffloadParameters.IPv6NSParameters.Flags

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

ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]

オプションの IPv6 アドレスを含む UCHAR 配列。 このアドレスは、NS メッセージの IPv6 ヘッダーの [送信元アドレス] フィールドを表します。

受信 NS メッセージにこの IPv6 アドレスと一致する送信元アドレス値がある場合、ネットワーク アダプターは低電力状態のときに近隣アドバタイズ (NA) メッセージを送信します。 このメンバーが 0 の場合、ネットワーク アダプターは任意のリモート IPv6 アドレスからの NS メッセージに応答する必要があります。

IPv6 NS および NA メッセージの詳細については、 RFC 4861 を参照してください。

ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]

要請されたノード IPv6 アドレスを含む UCHAR 配列。 この種類の IPv6 アドレスの詳細については、「マルチキャスト IPv6 アドレス」を参照してください。

ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]

MAC アドレスを含む UCHAR 配列。 NA メッセージを送信すると、ネットワーク アダプターは NA メッセージのターゲット リンク層アドレス (TLLA) フィールドにこの配列を使用します。

メモ NA メッセージを送信する場合、ネットワーク アダプターは常に NA メッセージの TLLA フィールドでこの MAC アドレスを使用する必要があります。 ただし、MAC ヘッダーの送信元アドレスとして、ネットワーク アダプターの現在の MAC アドレスを使用する必要があります。
 

ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]

1 つまたは 2 つの IPv6 アドレスを含む UCHAR 配列。 アドレスが 1 つだけ含まれている場合、そのアドレスは配列の最初の要素に格納され、2 番目の要素には 0 が入力されます。

ミニポート ドライバーは、配列内のすべてのアドレスを使用する必要があります。

これらのアドレスは、NS メッセージの [ターゲット アドレス] フィールドを表します。 これらのアドレスのいずれかが受信 NS メッセージの [ターゲット アドレス] フィールドと一致する場合、ネットワーク アダプターは応答として NA メッセージを送信します。

ProtocolOffloadParameters.Dot11RSNRekeyParameters

IEEE 802.11i ロバスト セキュリティ ネットワーク (RSN) ハンドシェイク パラメーターを含む構造体。 この構造体には、次のメンバーが含まれています。

ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags

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

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]

IEEE 802.11 キー確認キー (KCK) を含む UCHAR 配列。

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]

IEEE 802.11 キー暗号化キー (KEK) を含む UCHAR 配列。

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter

再生カウンターを含む ULONGLONG 値。

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2

V2 IEEE 802.11i Robust Security Network (RSN) ハンドシェイク パラメーターを含む構造体。 NDIS 6.84 以降で使用できます。 この構造体には、次のメンバーが含まれています。

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]

_PROTOCOL_OFFLOAD_PARAMETERS

注釈

NDIS_PM_PROTOCOL_OFFLOAD構造体は、OID_PM_ADD_PROTOCOL_OFFLOAD と で使用されます。 OID_PM_PROTOCOL_OFFLOAD_LIST Oid。

要件

要件
サポートされている最小のクライアント NDIS 6.20 以降でサポートされています。
Header ntddndis.h (Ntddndis.h を含む)

こちらもご覧ください

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_PROTOCOL_OFFLOAD_TYPE

OID_PM_ADD_PROTOCOL_OFFLOAD

OID_PM_PROTOCOL_OFFLOAD_LIST