NdisOffloadTcpForward 函数 (ndischimney.h)

[TCP 烟囱卸载功能已弃用,不应使用。

协议驱动程序或中间驱动程序调用 NdisOffloadTcpForward 函数,将未确认接收的 TCP 段转发到基础驱动程序或卸载目标。

语法

NDIS_STATUS NdisOffloadTcpForward(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList
);

参数

[in] NdisOffloadHandle

调用方上下文中用于卸载 TCP 连接的 NDIS_OFFLOAD_HANDLE 结构的句柄。 有关详细信息,请参阅 通过中间驱动程序引用卸载状态。

[in] NetBufferList

指向 NET_BUFFER_LIST 结构的指针。 此结构可以是独立结构,也可以是NET_BUFFER_LIST结构链接列表中的第一个结构。 列表中的每个NET_BUFFER_LIST结构都描述了一个 NET_BUFFER 结构。 每个NET_BUFFER结构都指向内存描述符列表(MDL)链。 与NET_BUFFER结构关联的 MDL 包含一个 TCP 段,并且只有一个 TCP 段正转发到卸载目标。 第一个 MDL 的第一个字节是 TCP 标头的第一个字节。 NET_BUFFER_LIST和相关结构被锁定,以便它们仍驻留在物理内存中。 但是,它们不会映射到系统内存中。

返回值

NdisOffloadTcpForward 函数始终返回NDIS_STATUS_PENDING。 转发作始终以异步方式完成。

言论

为了响应对其 MiniportTcpOffloadForward 函数的调用,中间驱动程序调用 NdisOffloadTcpForward 函数,以将转发作传播到基础驱动程序或卸载目标。 有关详细信息,请参阅 传播 I/O作

若要 NdisOffloadTcpForward 函数,中间驱动程序将传递以下内容:

  • NdisOffloadHandle 函数,该函数引用存储在中间驱动程序上下文中用于卸载 TCP 连接的NDIS_OFFLOAD_HANDLE结构。 有关详细信息,请参阅 通过中间驱动程序引用卸载状态。
  • NDIS 传递给中间驱动程序的同一PNET_BUFFER_LIST指针 MiniportTcpOffloadForward 函数。
当基础驱动程序或卸载目标随后通过调用 NdisTcpOffloadForwardComplete 函数来完成转发作时,NDIS 调用中间驱动程序的 ProtocolOffloadForwardComplete 函数。 然后,中间驱动程序调用 NdisTcpOffloadForwardComplete 函数来传播转发作的完成。

要求

要求 价值
目标平台 普遍
标头 ndischimney.h (包括 Ndischimney.h)
Ndis.lib

另请参阅

MiniportTcpOffloadForward

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadForwardComplete ProtocolTcpOffloadForwardComplete