OID_OFFLOAD_ENCAPSULATION
作为查询请求,过度分配驱动程序使用 OID_OFFLOAD_ENCAPSULATION OID 获取基础微型端口适配器的当前任务卸载封装设置。 NDIS 处理微型端口驱动程序的此 OID 查询。
作为设置请求,过度分配驱动程序使用 OID_OFFLOAD_ENCAPSULATION OID 来设置基础微型端口适配器的任务卸载封装设置。 支持任务卸载的微型端口驱动程序必须处理此 OID 集请求。
言论
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含 NDIS_OFFLOAD_ENCAPSULATION 结构。
微型端口驱动程序
如果微型端口驱动程序不支持卸载,并且此 OID,驱动程序应返回NDIS_STATUS_NOT_SUPPORTED。
微型端口驱动程序必须使用 NDIS_OFFLOAD_ENCAPSULATION 结构的内容来更新当前报告的 TCP 卸载功能。 更新后,微型端口驱动程序必须报告具有 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状态指示的当前任务卸载功能。 此状态指示可确保使用新功能信息更新所有过度的协议驱动程序。
此 OID 用于激活所有已配置或启用的卸载,或停用所有卸载(换句话说,硬件开始执行卸载)。 它不提供对单个卸载的精细控制。 相反,OID_TCP_OFFLOAD_PARAMETERS 用于配置单个卸载,还可以激活它们。 通常,可以使用OID_TCP_OFFLOAD_PARAMETERS配置和激活大多数 TCP/IP 任务卸载。
但是,此 OID 的NDIS_OFFLOAD_ENCAPSULATION结构还涵盖OID_TCP_OFFLOAD_PARAMETERS的 NDIS_OFFLOAD_PARAMETERS 结构未涵盖的其他两种封装类型:NDIS_ENCAPSULATION_IEEE_802_3 和 NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED。 微型端口驱动程序需要处理不同 OID 涵盖的封装类型的这种差异。
如果协议驱动程序发出此 OID 以停用所有卸载,则NDIS_OFFLOAD_ENCAPSULATION成员的 已启用 成员将设置为NDIS_OFFLOAD_SET_OFF。
设置封装(协议驱动程序)
确定系统封装要求后,协议驱动程序OID_OFFLOAD_ENCAPSULATION设置。 协议驱动程序可以通过 NDIS_BIND_PARAMETERS 结构或通过查询 OID_TCP_OFFLOAD_CURRENT_CONFIG来确定基础微型端口适配器的功能。 协议驱动程序必须设置微型端口适配器在至少一个卸载服务上支持的封装类型。
如果微型端口驱动程序支持支持请求的封装类型的任何卸载类型,驱动程序必须返回NDIS_STATUS_SUCCESS以响应一组OID_OFFLOAD_ENCAPSULATION。 否则,微型端口驱动程序应返回NDIS_STATUS_INVALID_PARAMETER。
对于发送作,协议驱动程序只能使用微型端口适配器支持具有所需封装类型的卸载类型来发出发送请求。 因此,如果OID_OFFLOAD_ENCAPSULATION的 OID 集请求失败,则协议驱动程序不得在定向到该微型端口适配器的发送请求中使用任何卸载设置。
对于接收作,微型端口驱动程序在收到 OID 集请求OID_OFFLOAD_ENCAPSULATION之前,不得启动校验和或 Internet 协议安全性(IPsec)卸载服务。
获取当前封装设置(协议驱动程序)
协议驱动程序只能在设置 OID_OFFLOAD_ENCAPSULATION OID 后发出OID_OFFLOAD_ENCAPSULATION查询。
NDIS 使用包含当前封装设置的 NDIS_OFFLOAD_ENCAPSULATION 结构进行响应。
协议驱动程序必须准备好处理任何NDIS_STATUS_Xxx故障代码。 如果发生故障,协议驱动程序不得尝试执行定向到受影响微型端口适配器的任何卸载作。
另请参阅
NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG
要求
版本:Windows Vista 及更高版本 标头:Ntddndis.h(包括 Ndis.h)