次の方法で共有


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 構造体。 ドライバーは、の種類 メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定します。

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

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2

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

Size メンバーをNDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2に設定します。

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1

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

Size メンバーを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

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

FriendlyName

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

ProtocolOffloadId

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

NextProtocolOffloadOffset

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

ProtocolOffloadParameters

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

ProtocolOffloadParameters.IPv4ARPParameters

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

ProtocolOffloadParameters.IPv4ARPParameters.Flags

フラグのビットごとの または を含む 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]

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

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

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

ProtocolOffloadParameters.Dot11RSNRekeyParameters

IEEE 802.11i Robust Security Network (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 を OID_PM_PROTOCOL_OFFLOAD_LIST します。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.20 以降でサポートされています。
ヘッダー 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