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_UDP_RSC_OFFLOAD UdpRsc;
} NDIS_OFFLOAD, *PNDIS_OFFLOAD;
成员
Header
NDIS_OFFLOAD 结构的NDIS_OBJECT_HEADER结构。 将 Header 指定的结构的 Type 成员设置为NDIS_OBJECT_TYPE_OFFLOAD。
设置 NDIS_OBJECT_HEADER 结构的 Revision 和 Size 成员,如下所示:
- 对于 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 及更高版本中可用。
UdpRsc
UDP 接收段合并卸载 (URO) NDIS_UDP_RSC_OFFLOAD 结构中的硬件卸载信息。
注意:此成员仅在 NDIS 6.89 及更高版本中可用。
注解
NDIS_OFFLOAD 结构用于以下位置:
- NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 结构的 DefaultOffloadConfiguration 成员
- NDIS_BIND_PARAMETERS 结构的 DefaultOffloadConfiguration 成员
- NDIS_FILTER_ATTACH_PARAMETERS 结构的 DefaultOffloadConfiguration 成员
- OID_TCP_OFFLOAD_CURRENT_CONFIG OID 请求中使用的 NDIS_OID_REQUEST 结构 (的 InformationBuffer 成员)
- NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG状态指示的 StatusBuffer 成员
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista,在 NDIS 6.0 及更高版本中受支持。 |
最低受支持的服务器 | Windows Server 2008 |
标头 | ntddndis.h (包括 Ndis.h) |
另请参阅
NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
NDIS_TCP_LARGE_SEND_OFFLOAD_V1
NDIS_TCP_LARGE_SEND_OFFLOAD_V2
OID_TCP_OFFLOAD_CURRENT_CONFIG