NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体 (ndis/nbllso.h)
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体は、TCP/IP トランスポートからミニポート アダプターへの大規模な送信オフロード (LSO) タスクのオフロードに使用される情報を指定します。 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体は、NET_BUFFER_LIST情報の一部です。
構文
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO {
union {
struct {
ULONG Unused : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} Transmit;
struct {
ULONG MSS : 20;
ULONG TcpHeaderOffset : 10;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV1Transmit;
struct {
ULONG TcpPayload : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV1TransmitComplete;
struct {
ULONG MSS : 20;
ULONG TcpHeaderOffset : 10;
ULONG Type : 1;
ULONG IPVersion : 1;
} LsoV2Transmit;
struct {
ULONG Reserved : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV2TransmitComplete;
PVOID Value;
};
} NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO;
メンバー
Transmit
送信情報を指定し、次のメンバーを含む NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 内の構造体。
Transmit.Unused
NDIS 用に予約されている未使用の領域を指定する ULONG 値。
Transmit.Type
ミニポート ドライバーを実行する必要があるオフロードの種類。 プロトコル ドライバーは、大規模な送信オフロード バージョン 1 (LSOV1) 操作を指定するNDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPEにこのメンバーを設定するか、大きな送信オフロード バージョン 2 (LSOV2) 操作を指定するNDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPEに設定します。
Transmit.Reserved2
NDIS 用に予約されています。
LsoV1Transmit
LSO 送信情報を指定し、次のメンバーを含む NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 内の構造体。
LsoV1Transmit.MSS
セグメント化後の各パケットの最大セグメント サイズ (MSS) (バイト単位)。 TCP/IP トランスポートは、セグメント化のために大きな TCP パケットをミニポート ドライバーに渡す前に、この値を書き込みます。 送信される各セグメントの TCP ペイロードのサイズは、この値を超えてはなりません。
LsoV1Transmit.TcpHeaderOffset
TCP パケットのパケットの先頭からの TCP ヘッダーのオフセット (バイト単位)。 ミニポート ドライバーは、 TcpHeaderOffset を使用して、IP ヘッダーを解析する必要がないように TCP ヘッダーの場所を決定できます。
LsoV1Transmit.Type
ミニポート ドライバーを実行する必要があるオフロードの種類。 プロトコル ドライバーは、このメンバーを NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE に設定して LSOV1 操作を指定するか、NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPEして LSOV2 操作を指定します。
LsoV1Transmit.Reserved2
NDIS 用に予約されています。
LsoV1TransmitComplete
LSO 送信の完全な情報を指定し、次のメンバーを含む NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 内の構造体。
LsoV1TransmitComplete.TcpPayload
ネットワーク インターフェイスが大きなパケットをセグメント化することによって作成された、ネットワーク インターフェイスがカード (NIC) パケットのセット内の TCP ペイロード バイトの合計数。 ミニポート ドライバーは、LSO パケットの送信を完了する前に TCP ペイロード サイズを書き込みます。
LsoV1TransmitComplete.Type
ミニポート ドライバーが実行したオフロードの種類。 ミニポート ドライバーは、この値は、上にあるドライバーが送信のためにパケットを送信したときと同じのままにします。
LsoV1TransmitComplete.Reserved2
NDIS 用に予約されています。
LsoV2Transmit
LSOV2 送信情報を指定し、次のメンバーを含む NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 内の構造体。
LsoV2Transmit.MSS
各 TCP セグメントの MSS (バイト単位)。 TCP/IP トランスポートは、セグメント化のために大きな TCP パケットをミニポート ドライバーに渡す前に、この値を書き込みます。
LsoV2Transmit.TcpHeaderOffset
TCP パケットのパケットの先頭からの TCP ヘッダーのオフセット (バイト単位)。 ミニポート ドライバーは、 TcpHeaderOffset を使用して、IP ヘッダーを解析する必要がないように TCP ヘッダーの場所を決定できます。
LsoV2Transmit.Type
ミニポート ドライバーを実行する必要があるオフロードの種類。 プロトコル ドライバーは、このメンバーを NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE に設定して LSOV1 操作を指定するか、NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPEして LSOV2 操作を指定します。
LsoV2Transmit.IPVersion
パケットの IP バージョン。 IPv4 パケットの場合、 IPVersion は NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4 に設定されます。 IPv6 パケットの場合、 IPVersion は NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6 に設定されます。
LsoV2TransmitComplete
LSOV2 送信の完全な情報を指定し、次のメンバーを含む、NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO内の構造体。
LsoV2TransmitComplete.Reserved
一般に、このメンバーは NDIS 用に予約されています。 ただし、送信操作が完了すると、ミニポート ドライバーは、このメンバーを 0 に設定する必要があります。
LsoV2TransmitComplete.Type
ミニポート ドライバーが実行したオフロードの種類。 ミニポート ドライバーは、この値は、上にあるドライバーが送信のためにパケットを送信したときと同じのままにします。
たとえば、送信操作が完了すると、ミニポート ドライバーは、このメンバーを NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPEに設定します。
LsoV2TransmitComplete.Reserved2
NDIS 用に予約されています。
Value
LSO 情報の PVOID バージョン。 このメンバーを使用して、特定のフィールドではなく生の情報にアクセスします。
注釈
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体は、LSOV1 および LSOV2 操作の情報を指定します。 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体は、NET_BUFFER_LIST構造体に含まれる情報の一部です。
LSOV1 または LSOV2 の情報を設定して取得するには、 tcpLargeSendNetBufferListInfo インデックスと NET_BUFFER_LIST_INFO マクロを使用します。 NET_BUFFER_LIST_INFO は ULONG 値を返します (ULONG 値へのポインターではありません)。
TCP/IP トランスポートは、ミニポート ドライバーに大きなパケットを送信する前に、NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO構造体の MSS および TcpHeaderOffset メンバーを更新します。
LSOV1 の場合、ミニポート ドライバーは、セグメント化されたパケットの送信操作を完了する前に 、TcpPayload メンバーに TCP ペイロード サイズを書き込みます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis/nbllso.h (ndis.h を含む) |