NDIS_TCP_IP_CHECKSUM_OFFLOAD 構造体 (ntddndis.h)

NDIS_TCP_IP_CHECKSUM_OFFLOAD構造体は、 NDIS_OFFLOAD 構造のチェックサム タスク オフロード情報を提供します。

構文

typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Receive;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Receive;
} NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;

メンバー

IPv4Transmit

IPv4 送信情報を指定し、次のメンバーを含む NDIS_TCP_IP_CHECKSUM_OFFLOAD 内の構造体。

IPv4Transmit.Encapsulation

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

IPv4Transmit.IpOptionsSupported

ミニポート アダプターが IP オプションを含む IPv4 送信パケットの IP チェックサムを計算できることを示す、またはこの機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Transmit.TcpOptionsSupported

ミニポート アダプターが TCP オプションを含む IPv4 送信パケットの TCP チェックサムを計算できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Transmit.TcpChecksum

ミニポート アダプターが IPv4 送信パケットの TCP チェックサムを計算できることを示すためにミニポート ドライバーが設定する ULONG 値。 TCP/IP トランスポートは、この値を設定してこの機能を有効にするか、この機能が有効または無効になっていることを示します。

IPv4Transmit.UdpChecksum

ミニポート アダプターが IPv4 送信パケットの UDP チェックサムを計算できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Transmit.IpChecksum

ミニポート アダプターが IPv4 送信パケットの IP チェックサムを計算できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Receive

IPv4 受信情報を指定し、次のメンバーを含む NDIS_TCP_IP_CHECKSUM_OFFLOAD 内の構造体。

IPv4Receive.Encapsulation

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

IPv4Receive.IpOptionsSupported

ミニポート アダプターが IP オプションを含む IPv4 受信パケットの IP チェックサムを検証できることを示す、またはこの機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Receive.TcpOptionsSupported

ミニポート アダプターが TCP オプションを含む IPv4 受信パケットの TCP チェックサムを計算できることを示す、またはこの機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Receive.TcpChecksum

ミニポート アダプターが IPv4 受信パケットの TCP チェックサムを検証できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Receive.UdpChecksum

ミニポート アダプターが IPv4 受信パケットの UDP チェックサムを検証できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv4Receive.IpChecksum

ミニポート アダプターが IPv4 受信パケットの IP チェックサムを検証できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Transmit

IPv6 送信情報を指定し、次のメンバーを含む NDIS_TCP_IP_CHECKSUM_OFFLOAD 内の構造体。

IPv6Transmit.Encapsulation

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

IPv6Transmit.IpExtensionHeadersSupported

ミニポート アダプターが拡張ヘッダーを含む IPv6 パケットのチェックサムを計算できることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Transmit.TcpOptionsSupported

ミニポート アダプターが TCP オプションを含む IPv6 送信パケットの TCP チェックサムを計算できることを示す、またはこの機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Transmit.TcpChecksum

ミニポート アダプターが IPv6 送信パケットの TCP チェックサムを計算できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Transmit.UdpChecksum

ミニポート アダプターが IPv6 送信パケットの UDP チェックサムを計算できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Receive

IPv6 受信情報を指定し、次のメンバーを含む NDIS_TCP_IP_CHECKSUM_OFFLOAD 内の構造体。

IPv6Receive.Encapsulation

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

IPv6Receive.IpExtensionHeadersSupported

ミニポート アダプターが拡張ヘッダーを含む IPv6 パケットのチェックサムを検証できることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Receive.TcpOptionsSupported

ミニポート アダプターが TCP ヘッダーに TCP オプションが含まれている IPv6 受信パケットのチェックサムを計算できることを示す、またはこの機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Receive.TcpChecksum

ミニポート アダプターが IPv6 受信パケットの TCP チェックサムを検証できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

IPv6Receive.UdpChecksum

ミニポート アダプターが IPv6 受信パケットの UDP チェックサムを検証できることを示すか、この機能が有効または無効であることを示すためにミニポート ドライバーが設定する ULONG 値。

注釈

NDIS_TCP_IP_CHECKSUM_OFFLOAD構造体は、NDIS_OFFLOAD構造体の Checksum メンバーで使用されます。 NDIS_TCP_IP_CHECKSUM_OFFLOAD構造体は、パケットを送信し、受信パケットのそのようなチェックサムを検証するために IP、TCP、または UDP チェックサム (またはそのすべて) を計算するためにミニポート アダプターが提供する現在またはサポートされているサービスを指定します。

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_IP_CHECKSUM_OFFLOADの カプセル化 メンバーは、ミニポート アダプターのチェックサム オフロード カプセル化設定を定義します。

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

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

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

  • 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 カプセル化を示すためにも使用されます。

NDIS_TCP_IP_CHECKSUM_OFFLOADの IpOptionsSupportedTcpOptionsSupportedIpExtensionHeadersSupportedTcpChecksumUdpChecksumおよび IpChecksum の各メンバーの値の意味は、タスク オフロード構造を含む OID または状態表示によって異なります。 これらのメンバーには、次のいずれかの値を指定できます。

  • NDIS_OFFLOAD_NOT_SUPPORTED
    OID_TCP_OFFLOAD_CURRENT_CONFIGでは、この値は、ミニポート アダプターがメンバーが指定する機能をサポートしないことを指定します。
  • NDIS_OFFLOAD_SUPPORTED
    OID_TCP_OFFLOAD_CURRENT_CONFIGでは、この値は、ミニポート アダプターがメンバーが指定する機能をサポートすることを指定します。
  • NDIS_OFFLOAD_SET_OFF
    NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG状態の表示で、この値は、メンバーが指定する機能が無効であることを指定します。
  • NDIS_OFFLOAD_SET_ON
    NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG状態の表示で、この値は、メンバーが指定する機能が有効であることを指定します。

要件

要件
サポートされている最小のクライアント 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

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG