When supplied by a miniport driver in response to a query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_IP_CHECKSUM structure specifies the miniport driver's NIC's capabilities for calculating IP, TCP, and/or UDP checksums for send packets and validating such checksums for receive packets. When passed to a miniport driver in a set of OID_TCP_TASK_OFFLOAD, the structure specifies the checksum capabilities that the TCP/IP transport is enabling for the NIC.
typedef struct _NDIS_TASK_TCP_IP_CHECKSUM
{
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
ULONG IpChecksum:1;
} V4Transmit;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
ULONG IpChecksum:1;
} V4Receive;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
} V6Transmit;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
} V6Receive;
} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
Declared in ndis.h. Include ndis.h.
In response to a query of OID_TCP_TASK_OFFLOAD, a miniport driver returns in the InformationBuffer an NDIS_TASK_OFFLOAD_HEADER structure followed immediately by one or more chained NDIS_TASK_OFFLOAD structures. Each NDIS_TASK_OFFLOAD structure specifies a task-offload capability supported by the miniport driver's NIC.
When the Task member of the NDIS_TASK_OFFLOAD structure specifies TcpIpChecksumNdisTask, the TaskBuffer of the NDIS_TASK_OFFLOAD structure contains an NDIS_TASK_TCP_IP_CHECKSUM structure.
When returned by a miniport driver in response to the TCP/IP transport's query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_IP_CHECKSUM structure specifies the miniport driver's capabilities for performing checksum tasks on both send and receive packets. When passed to a miniport driver by the TCP/IP transport's set of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_IP_CHECKSUM structure specifies the checksum capabilities that the transport is enabling.
The NDIS_TASK_TCP_IP_CHECKSUM structure allows a miniport driver to indicate UDP checksum capabilities. The initial release of Windows® 2000 does not support UDP checksum offloads; however, future service packs and update releases of Windows 2000 may support UDP checksum offloads.
The NDIS_TASK_TCP_IP_CHECKSUM structure also allows a miniport driver to indicate checksum capabilities for IPv6 packets. The TCP/IP transport in the initial release of Windows 2000, however, can process only IPv4 packets and therefore does not enable any IPv6 checksum capabilities reported by a miniport driver. Future versions of the TCP/IP transport may support the processing of IPv6 packets.
OID_TCP_TASK_OFFLOAD, NDIS_TASK_OFFLOAD, NDIS_TASK_OFFLOAD_HEADER