NDIS_TCP_LARGE_SEND_OFFLOAD_V1 構造体 (ntddndis.h)

NDIS_TCP_LARGE_SEND_OFFLOAD_V1構造体は、 NDIS_OFFLOAD 構造体に大きな送信オフロード バージョン 1 (LSOV1) 情報を提供します。

構文

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
  struct {
    ULONG Encapsulation;
    ULONG MaxOffLoadSize;
    ULONG MinSegmentCount;
    ULONG TcpOptions : 2;
    ULONG IpOptions : 2;
  } IPv4;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;

メンバー

IPv4

次のメンバーを含むNDIS_TCP_LARGE_SEND_OFFLOAD_V1内の構造体。

IPv4.Encapsulation

IPv4 のカプセル化設定。 このメンバーの詳細については、次の「備考」セクションを参照してください。

IPv4.MaxOffLoadSize

トランスポートが 1 つのパケットでミニポート ドライバーに渡すことができるユーザー データの最大バイト数。 トランスポートは、 MaxOffLoadSize が指定したよりも多くのユーザー データ バイトを含むミニポート ドライバーにパケットを渡しません。 このようなパケットを送信する必要がある場合、トランスポート自体はパケットをより小さなパケットにセグメント化します。

IPv4.MinSegmentCount

トランスポートがセグメント化のためにハードウェアにオフロードする前に、大きな TCP パケットが割り切れる必要があるセグメントの最小数。 ミニポート ドライバーが 少なくとも MinSegmentCount がパケットから指定した数のセグメントを作成できない限り、トランスポートはセグメント化のために大きなパケットをミニポート ドライバーにオフロードしません。 大きな TCP パケットが最小セグメント要件を満たさない場合、TCP/IP トランスポート自体はパケットをより小さなパケットにセグメント化します。

IPv4.TcpOptions

ミニポート ドライバーが設定する ULONG 値は、ミニポート ドライバーが TCP ヘッダーに TCP オプションが含まれている大きな TCP パケットをセグメント化できることを示すか、この機能が有効または無効であることを示します。 TCP/IP トランスポートは、この機能を有効または無効にするためにこの値を設定します。

IPv4.IpOptions

ミニポート ドライバーが設定する ULONG 値は、ミニポート アダプターが IP ヘッダーに IP オプションが含まれている大きな TCP パケットをセグメント化できることを示すか、この機能が有効または無効であることを示します。

注釈

NDIS_TCP_LARGE_SEND_OFFLOAD_V1構造体は、NDIS_OFFLOAD構造体の LsoV1 メンバーで使用されます。 NDIS_TCP_LARGE_SEND_OFFLOAD_V1 は、大きな TCP パケットをより小さなパケットにセグメント化するためにミニポート アダプターが提供する現在またはサポートされているサービスを指定します。 NDIS には、LSO の拡張バージョンである大きな送信オフロード バージョン 2 (LSOV2) も用意されています。 LSOV2 の詳細については、次を参照してください。 NDIS_TCP_LARGE_SEND_OFFLOAD_V2

NDIS_OFFLOAD は、 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 構造、 NDIS_BIND_PARAMETERS 構造、 NDIS_FILTER_ATTACH_PARAMETERS 構造、 OID_TCP_OFFLOAD_CURRENT_CONFIG OID、および NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態を示します。

OID_TCP_OFFLOAD_CURRENT_CONFIGの場合、NDIS_OFFLOAD構造体は、ミニポート アダプターがサポートするタスク オフロード機能を指定します。 現在のオフロード機能が変更された場合、ミニポート ドライバーは、 の新しい機能を報告します。 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態を示します。

NDIS_TCP_LARGE_SEND_OFFLOAD_V1カプセル化メンバーは、ミニポート アダプターの LSOV1 カプセル化機能または設定を定義します。

への応答として、クエリ要求OID_TCP_OFFLOAD_CURRENT_CONFIG、NDIS はカプセル化メンバーで、サポートされているカプセル化設定を示すカプセル化フラグのビットごとの OR を提供します。 ミニポート ドライバーは、イーサネット カプセル化 (NDIS_ENCAPSULATION_IEEE_802_3) を提供する必要があります。 その他の種類のカプセル化は省略可能です。

の場合 状態表示NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 、ミニポート ドライバーは、カプセル 化メンバーで 現在の機能を示すカプセル化フラグのビットごとの OR を提供します。

カプセル化メンバーには、次のフラグが定義されています。

NDIS_ENCAPSULATION_NONEまたはNDIS_ENCAPSULATION_NOT_SUPPORTED
カプセル化オフロードがサポートされていないことを指定します。

NDIS_ENCAPSULATION_NULL
NULL カプセル化を指定します。

NDIS_ENCAPSULATION_IEEE_802_3
IEEE 802.3 カプセル化を指定します。

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
IEEE 802.3p および IEEE 802.3q カプセル化を指定します。

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
各NET_BUFFER_LIST構造体の NetBufferListInfo メンバーで IEEE 802.3p および IEEE 802.3q カプセル化設定を指定します。

NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
RFC 1483 で説明されているように、ルーティング プロトコルの論理リンク制御 (LLC) カプセル化を指定します。 このフラグは、イーサネット LLC/SNAP カプセル化を示すためにも使用されます。

TcpOptions および IpOptions メンバーの値NDIS_TCP_LARGE_SEND_OFFLOAD_V1ミニポート アダプターのサポートを指定します。 OID_TCP_OFFLOAD_CURRENT_CONFIG OID または NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態を示します。 これらのメンバーには、次のいずれかの値を指定できます。

NDIS_OFFLOAD_NOT_SUPPORTED
ミニポート アダプターは、メンバーが指定する機能をサポートしていません。

NDIS_OFFLOAD_SUPPORTED
ミニポート アダプターは、メンバーが指定する機能をサポートしています

要件

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

こちらもご覧ください

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG NDIS_TCP_LARGE_SEND_OFFLOAD_V2

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG