使用 TCP/IP 卸载管理员界面

在 NDIS 6.0 及更高版本中, (或超载驱动程序的用户模式应用程序) 可以启用或禁用 TCP/IP 卸载功能。 系统管理员可以通过 Microsoft Windows Management Instrumentation (WMI) 界面访问设置。 还可能存在通过注册表设置禁用的功能,如果硬件支持这些功能,则可以启用这些功能。

为了响应 OID_TCP_OFFLOAD_PARAMETERS 对象标识符 (OID) 设置请求,微型端口驱动程序使用 NDIS_OFFLOAD_PARAMETERS 结构中的设置来设置微型端口适配器的当前卸载或连接卸载配置。

NDIS 在卸载标准化关键字的注册表中保留请求的设置。 当 NDIS 重启微型端口适配器时,微型端口驱动程序将读取卸载标准化关键字,并使用它们来设置 NIC 的默认卸载配置。 如果微型端口驱动程序还支持非标准关键字,则微型端口驱动程序负责在更改任务卸载设置时更新注册表。 有关标准化关键字的详细信息,请参阅 网络设备的标准化 INF 关键字

微型端口驱动程序必须使用 NDIS_OFFLOAD_PARAMETERS 结构的内容来更新当前报告的卸载配置。 微型端口驱动程序必须使用任务卸载 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 或连接卸载NDIS_STATUS_OFFLOAD_RESUME状态指示报告当前配置。 (有关NDIS_STATUS_OFFLOAD_RESUME的信息,请参阅 NDIS 6.0 TCP 烟囱卸载文档。) 状态指示可确保使用新功能信息更新所有超载协议驱动程序。

在用户模式应用程序 (或覆盖驱动程序之前,) 设置 OID_TCP_OFFLOAD_PARAMETERS 它们可以使用 OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID 或 OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID 来确定微型端口适配器的硬件可以支持哪些功能。 使用 OID_TCP_OFFLOAD_PARAMETERS OID 启用 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 或 OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID 报告当前未启用的功能。

例如,如果硬件功能 (发生更改,因为 MUX 中间驱动程序切换到不同的基础微型端口适配器) ,因此中间驱动程序必须使用 NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIESNDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 状态指示报告卸载硬件功能的任何更改。

NDIS 和 overlying 驱动程序可以使用 OID_OFFLOAD_ENCAPSULATION OID 来设置或查询基础微型端口适配器的任务卸载封装设置。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含NDIS_OFFLOAD_ENCAPSULATION结构。