TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER回调函数 (ndischimney.h)
[TCP 烟囱卸载功能已弃用,不应使用。
NDIS 调用协议驱动程序或中间驱动程序 ProtocolTcpOffloadReceiveIndicate 函数来传递基础驱动程序或卸载目标指示的接收数据。
语法
TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;
NDIS_STATUS TcpOffloadReceiveIndicateHandler(
[in] IN PVOID OffloadContext,
[in] IN PNET_BUFFER_LIST NetBufferList,
[in] IN NDIS_STATUS Status,
[out] OUT PULONG BytesConsumed
)
{...}
参数
[in] OffloadContext
指向要对其发出指示的 TCP 连接的协议或中间驱动程序 NDIS_OFFLOAD_HANDLE 结构的指针。 在卸载连接时,协议或中间驱动程序将此指针作为输入参数提供给 NdisInitiateOffload 函数。
[in] NetBufferList
指向 NET_BUFFER_LIST 结构的指针。 每个 NET_BUFFER_LIST 结构描述 NET_BUFFER 结构的列表。 列表中的每个 NET_BUFFER 结构都映射到 内存描述符列表(MDL)链。 MDL 包含收到的数据。 MDL 已锁定,以便它们保持驻留状态,但不会映射到系统内存中。
NetBufferList 指定的 NET_BUFFER_LIST 结构必须是独立结构,不能是 NET_BUFFER_LIST 结构链接列表中的第一个结构。 卸载目标可以通过将尽可能多的 MDL 链接到卸载接收指示中的相同 NET_BUFFER 来解决此问题。
[in] Status
在调用时,中间驱动程序应传播此状态 NdisTcpOffloadReceiveHandler。
[out] BytesConsumed
指向 ULONG 类型的变量的指针,该变量接收客户端应用程序使用的字节数。
返回值
这 ProtocolTcpOffloadReceiveIndicate 函数可以返回以下值之一:
返回代码 | 描述 |
---|---|
|
客户端应用程序使用所有指示的接收数据。 |
|
客户端应用程序拒绝了所有指示的接收数据。 |
|
客户端应用程序使用了所指示接收数据的子集。 客户端应用程序使用的数据量(以字节为单位)在 BytesConsumed 参数指定的变量中返回。 |
言论
若要将指示传播到过度的驱动程序或主机堆栈,中间驱动程序调用 NdisTcpOffloadReceiveHandler 函数。 中间驱动程序将以下参数传递给 NdisTcpOffloadReceiveHandler 函数:
- NdisOffloadHandle 卸载目标存储在卸载 TCP 连接的上下文中。 有关详细信息,请参阅 通过中间驱动程序引用卸载状态。
- NetBufferList NDIS 传递给中间驱动程序的 protocolTcpOffloadReceiveIndicate 函数 的指针。
- NDIS 传递给中间驱动程序的 ProtocolTcpOffloadReceiveIndicate 函数的 状态。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | ndischimney.h (包括 Ndischimney.h) |