使用注册表值启用和禁用任务卸载
调试驱动程序的任务卸载功能时,可能会发现使用注册表项设置启用或禁用任务卸载服务很有用。 可以在 INF 文件和注册表中定义标准化关键字。 有关标准化关键字的详细信息,请参阅网络设备的标准化 INF 关键字。
任务卸载关键字属于两个组之一:精细关键字或分组关键字。 精细关键字为每个卸载功能(传输层区分、IP 协议区分)提供关键字。 分组关键字在传输层提供组合关键字功能。
精细关键字
精细关键字的定义如下:
关键字 | 说明 |
---|---|
*IPChecksumOffloadIPv4 | 描述设备是启用还是禁用了 IPv4 校验和的计算。 |
*TCPChecksumOffloadIPv4 | 描述设备是启用还是禁用了通过 IPv4 数据包计算 TCP 校验和。 |
*TCPChecksumOffloadIPv6 | 描述设备是启用还是禁用了通过 IPv6 数据包计算 TCP 校验和。 |
*UDPChecksumOffloadIPv4 | 描述设备是启用还是禁用了通过 IPv4 数据包计算 UDP 校验和。 |
*UDPChecksumOffloadIPv6 | 描述设备是启用还是禁用了通过 IPv6 数据包计算 UDP 校验和。 |
*LsoV1IPv4 | 描述设备是启用还是禁用了通过 IPv4 为大型发送卸载版本 1 (LSOv1) 进行大型 TCP 数据包分段。 |
*LsoV2IPv4 | 描述设备是启用还是禁用了通过 IPv4 为大型发送卸载版本 2 (LSOv2) 进行大型 TCP 数据包分段。 |
*LsoV2IPv6 | 描述设备是启用还是禁用了通过 IPv6 为大型发送卸载版本 2 (LSOv2) 进行大型 TCP 数据包分段。 |
*IPsecOffloadV1IPv4 | 描述设备是启用还是禁用了通过 IPv4 计算 IPsec 标头。 |
*IPsecOffloadV2 | 描述设备是启用还是禁用了 IPsec 卸载版本 2 (IPsecOV2)。 IPsecOV2 为额外的加密算法、IPv6 和与大型发送卸载版本 2 (LSOv2) 共存提供支持。 |
*IPsecOffloadV2IPv4 | 描述设备是仅为 IPv4 启用还是禁用了 IPsecOV2。 |
下表描述了可用于配置卸载服务的精细关键字。
SubkeyName | ParamDesc | 值 | EnumDesc |
---|---|---|---|
IPChecksumOffloadIPv4 | IPv4 校验和卸载 | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Rx & Tx 已启用 | ||
TCPChecksumOffloadIPv4 | TCP 校验和卸载 (IPv4) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Rx & Tx 已启用 | ||
TCPChecksumOffloadIPv6 | TCP 校验和卸载 (IPv6) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Rx & Tx 已启用 | ||
UDPChecksumOffloadIPv4 | UDP 校验和卸载 (IPv4) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Rx & Tx 已启用 | ||
UDPChecksumOffloadIPv6 | UDP 校验和卸载 (IPv6) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Rx & Tx 已启用 | ||
LsoV1IPv4 | 大型发送卸载版本 1 (IPv4) | 0 | 已禁用 |
1(默认值) | 已启用 | ||
LsoV2IPv4 | Large Send Offload V2 (IPv4) | 0 | 已禁用 |
1(默认值) | 已启用 | ||
LsoV2IPv6 | 大型发送卸载 V2 (IPv6) | 0 | 已禁用 |
1(默认值) | 已启用 | ||
IPsecOffloadV1IPv4 | IPsec 卸载版本 1 (IPv4) | 0 | 已禁用 |
1 | 身份验证标头已启用 | ||
2 | 已启用 ESP | ||
3(默认值) | 身份验证标头 & ESP 已启用 | ||
IPsecOffloadV2 | IPsec 卸载 | 0 | 已禁用 |
1 | 身份验证标头已启用 | ||
2 | 已启用 ESP | ||
3(默认值) | 身份验证标头 & ESP 已启用 | ||
*IPsecOffloadV2IPv4 | IPsec 卸载(仅限 IPv4) | 0 | 已禁用 |
1 | 身份验证标头已启用 | ||
2 | 已启用 ESP | ||
3(默认值) | 身份验证标头 & ESP 已启用 |
注意
INF 文件可以支持 UI 的“高级属性”页面中显示的精细关键字。 微型端口驱动程序必须在初始化时从注册表读取所有精细设置,包括未显示的设置,才能注册 NDIS 卸载功能。
分组关键字
分组关键字的定义如下:
关键字 | 说明 |
---|---|
*TCPUDPChecksumOffloadIPv4 | 描述设备是启用还是禁用了通过 IPv4 计算 IP、TCP 和 UDP 校验和。 |
*TCPUDPChecksumOffloadIPv6 | 描述设备是启用还是禁用了通过 IPv6 计算 TCP 和 UDP 校验和。 |
下表描述了可用于配置卸载服务的分组关键字。
SubkeyName | ParamDesc | 值 | EnumDesc |
---|---|---|---|
TCPUDPChecksumOffloadIPv4 | TCP/UDP 校验和卸载 (IPv4) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Tx & Rx 已启用 | ||
TCPUDPChecksumOffloadIPv6 | TCP/UDP 校验和卸载 (IPv6) | 0 | 已禁用 |
1 | Tx 已启用 | ||
2 | Rx 已启用 | ||
3(默认值) | Tx & Rx 已启用 |
可以启用的卸载组合存在限制。 例如,如果微型端口适配器支持 LSOV1 或 LSOV2,微型端口适配器还会计算 IP 和 TCP 校验和。 有关卸载的有效组合的详细信息,请参阅组合任务卸载的类型。
如果使用注册表项设置禁用任务卸载服务,协议驱动程序不得签发 OID_OFFLOAD_ENCAPSULATION 对象标识符 (OID)。
可以使用以下注册表值来启用或禁用 TCP/IP 协议的任务卸载:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\DisableTaskOffload
将此值设置为 1 会禁用 TCP/IP 传输中的所有任务卸载。 将此值设置为 0 会启用所有任务卸载。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ipsec\EnabledOffload
将此值设置为 0 会禁用 TCP/IP 传输中的 Internet 协议安全性 (IPsec) 卸载。 TCP/IP 校验和任务的卸载、大型发送卸载版本 1 (LSOV1) 和大型发送卸载版本 2 (LSOV2) 不会受到影响。 将此值设置为 1 会启用 IPsec 卸载。