NDIS_OFFLOAD 结构 (ntddndis.h)

NDIS_OFFLOAD 结构指定 了多个可卸载到网络适配器的计算任务

语法

typedef struct _NDIS_OFFLOAD {
  NDIS_OBJECT_HEADER                       Header;
  NDIS_TCP_IP_CHECKSUM_OFFLOAD             Checksum;
  NDIS_TCP_LARGE_SEND_OFFLOAD_V1           LsoV1;
  NDIS_IPSEC_OFFLOAD_V1                    IPsecV1;
  NDIS_TCP_LARGE_SEND_OFFLOAD_V2           LsoV2;
  ULONG                                    Flags;
  NDIS_IPSEC_OFFLOAD_V2                    IPsecV2;
  NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD       Rsc;
  NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD    EncapsulatedPacketTaskOffloadGre;
  NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 EncapsulatedPacketTaskOffloadVxlan;
  UCHAR                                    EncapsulationTypes;
  NDIS_RFC6877_464XLAT_OFFLOAD             Rfc6877Xlat;
  NDIS_UDP_SEGMENTATION_OFFLOAD            UdpSegmentation;
} NDIS_OFFLOAD, *PNDIS_OFFLOAD;

成员

Header

NDIS_OFFLOAD 结构的NDIS_OBJECT_HEADER结构。 将 Header 指定的结构的 Type 成员设置为NDIS_OBJECT_TYPE_OFFLOAD。

设置 NDIS_OBJECT_HEADER 结构的 RevisionSize 成员,如下所示:

  • 对于 NDIS 6.83 及更高版本的驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_6 (NDIS 6.83) 。
    • “大小” 设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_6”。
  • 对于 NDIS 6.70 及更高版本的驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_5 (NDIS 6.70) 。
    • “大小” 设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_5”。
  • 对于 NDIS 6.50 及更高版本的驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_4 (NDIS 6.50) 。
    • “大小” 设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4”。
  • 对于 NDIS 6.30 及更高版本的驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_3 (NDIS 6.30) 。
    • “大小 ”设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3”。
  • 对于 NDIS 6.1 和 6.20 驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_2 (NDIS 6.1) 。
    • “大小 ”设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2”。
  • 对于 NDIS 6.0 驱动程序:
    • Revision 设置为 NDIS_OFFLOAD_REVISION_1 (NDIS 6.0) 。
    • “大小 ”设置为“NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1”。

Checksum

校验和卸载 中的信息 NDIS_TCP_IP_CHECKSUM_OFFLOAD 结构。

LsoV1

大型发送卸载版本 1 (LSOV1) 中的信息 NDIS_TCP_LARGE_SEND_OFFLOAD_V1 结构。

IPsecV1

Internet 协议安全性 (IPsec) 卸载中的信息 NDIS_IPSEC_OFFLOAD_V1 结构。

LsoV2

大型发送卸载版本 2 (LSOV2) 卸载信息 NDIS_TCP_LARGE_SEND_OFFLOAD_V2 结构。

Flags

指定网络适配器支持的属性的标志的按位 OR。 定义了以下标志。

含义
IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE
0x00000002
网络适配器支持 IPsecV2 和 TCP 校验和。
IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE
0x00000004
网络适配器支持 IPsecV2 和 UDP 校验和。

IPsecV2

Internet 协议安全性 (IPsec) 卸载 NDIS_IPSEC_OFFLOAD_V2 结构中的版本 2 信息。

Rsc

接收段合并 (RSC) 卸载 NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD 结构中的信息。

EncapsulatedPacketTaskOffloadGre

在NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD结构中使用通用路由封装 (NVGRE) 任务卸载信息的网络虚拟化。 此成员只能由支持 NVGRE 格式数据包的任务卸载的微型端口驱动程序设置。

注意 此成员仅在 NDIS 6.30 及更高版本中可用。

 

EncapsulatedPacketTaskOffloadVxlan

VXLAN 封装的数据包任务卸载 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 结构中的信息。 此成员只能由支持 VXLAN 格式数据包的任务卸载的微型端口驱动程序设置。 VXLAN 类似于 NVGRE,但协议不同。

注意 此成员仅在 NDIS 6.50 及更高版本中可用。
 

EncapsulationTypes

为封装的数据包任务卸载启用的封装类型。

注意 此成员仅在 NDIS 6.50 及更高版本中可用。
 

Rfc6877Xlat

464XLAT 硬件卸载 NDIS_RFC6877_464XLAT_OFFLOAD 结构中的信息。

注意 此成员仅在 NDIS 6.70 及更高版本中可用。
 

UdpSegmentation

UDP 分段卸载 (NDIS_UDP_SEGMENTATION_OFFLOAD结构中的 USO) 硬件卸载信息。

注意 此成员仅在 NDIS 6.83 及更高版本中可用。
 

注解

NDIS_OFFLOAD 结构用于以下位置:

要求

要求
最低受支持的客户端 Windows Vista,在 NDIS 6.0 及更高版本中受支持。
最低受支持的服务器 Windows Server 2008
标头 ntddndis.h (包括 Ndis.h)

另请参阅

确定网络适配器的 RSC 功能

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_IPSEC_OFFLOAD_V2

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_STATUS_INDICATION

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NDIS_TCP_IP_CHECKSUM_OFFLOAD

NDIS_TCP_LARGE_SEND_OFFLOAD_V1 NDIS_TCP_LARGE_SEND_OFFLOAD_V2

使用通用路由封装 (NVGRE) 任务卸载实现网络虚拟化

OID_OFFLOAD_ENCAPSULATION

OID_TCP_OFFLOAD_CURRENT_CONFIG

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

TCP/IP 任务卸载

UDP 分段卸载 (USO)