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 连接的卸载。
  • 指定已发送并成功确认的用户数据字节数。 卸载目标通过调用 idTcpOffloadBytesTransferredNET_BUFFER_LIST_INFO 宏来执行此操作。
  • 调用 NdisAdvanceNetBufferDataStart 函数。 NetBufferList 参数应指向与卸载目标传递给 NdisTcpOffloadDisconnectComplete 函数的 NET_BUFFER_LIST 结构关联的 NET_BUFFER 结构。 DataOffsetDelta 参数应指定NET_BUFFER结构中的数据字节数,这些数据字节数既由卸载目标传输,又由远程主机成功确认。 FreeMdl 参数应为 NULL
请注意, NdisTcpOffloadDisconnectComplete 函数仅返回 NDIS 传递给卸载目标的 NET_BUFFER_LIST 结构和关联的结构 MiniportTcpOffloadDisconnect 函数。 NdisTcpOffloadDisconnectComplete 函数无法返回 NDIS 在先前调用卸载目标的 中传递的NET_BUFFER_LIST结构 MiniportTcpOffloadSend 函数。

要求

要求
目标平台 通用
标头 ndischimney.h (包括 Ndischimney.h)

另请参阅

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete