NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE回调函数 (ndischimney.h)
[TCP 烟囱卸载功能已弃用,不应使用。]
卸载目标调用 NdisTcpOffloadDisconnectComplete 函数来完成由上一次调用 发起的断开连接请求 卸载目标的 MiniportTcpOffloadDisconnect 函数。
语法
NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;
void NdisTcpOffloadDisconnectComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNET_BUFFER_LIST NetBufferList
)
{...}
参数
[in] NdisMiniportHandle
卸载目标在上一次调用中获取的句柄 NdisMRegisterMiniportDriver 函数。
[in] NetBufferList
指向单个 NET_BUFFER_LIST 结构的指针。 卸载目标获取此指针作为其输入参数 MiniportTcpOffloadDisconnect 函数。
返回值
无
备注
完成中止断开连接
如果卸载目标发出中止断开连接,则必须在调用 NdisTcpOffloadDisconnectComplete 函数之前执行以下操作:
- 完成连接上所有未完成的发送请求,状态值为 NDIS_STATUS_REQUEST_ABORTED。 卸载目标将此状态值写入到它传递给 的链接列表中每个NET_BUFFER_LIST结构的 Status 成员 NdisTcpOffloadSendComplete 函数。
- 将状态值写入 NetBufferList 指针指向的 NET_BUFFER_LIST 结构的 Status 成员。 状态值NDIS_STATUS_SUCCESS指示卸载目标已成功发送 RST 段。 有关允许的状态值的说明,请参阅 NET_BUFFER_LIST。
在完成正常断开连接请求之前,卸载目标必须:
-
将状态值写入它传递给 的 NET_BUFFER_LIST 结构的 Status 成员 NdisTcpOffloadDisconnectComplete 函数:
- 值 NDIS_STATUS_SUCCESS 表示 FIN 段以及任何用户数据已成功由卸载目标发送 ,并且 远程主机也已确认。
- 值 NDIS_STATUS_UPLOAD_IN_PROGRESS 指示正在上传 NdisMiniportHandle 引用的 TCP 连接。
- 值 NDIS_STATUS_REQUEST_ABORTED 表示卸载目标未成功传输 FIN 段和/或任何用户数据,并且远程主机未确认。 主机堆栈最终将终止 TCP 连接的卸载。
- 指定已发送并成功确认的用户数据字节数。 卸载目标通过调用 id 为 TcpOffloadBytesTransferred 的 NET_BUFFER_LIST_INFO 宏来执行此操作。
- 调用 NdisAdvanceNetBufferDataStart 函数。 NetBufferList 参数应指向与卸载目标传递给 NdisTcpOffloadDisconnectComplete 函数的 NET_BUFFER_LIST 结构关联的 NET_BUFFER 结构。 DataOffsetDelta 参数应指定NET_BUFFER结构中的数据字节数,这些数据字节数既由卸载目标传输,又由远程主机成功确认。 FreeMdl 参数应为 NULL。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ndischimney.h (包括 Ndischimney.h) |