NDIS_RSC_NBL_INFO union (ndis/nblrsc.h)

NDIS_RSC_NBL_INFO联合指定接收段合并 (RSC) 与NET_BUFFER_LIST结构关联的计数器信息。

语法

typedef union _NDIS_RSC_NBL_INFO {
  struct {
    USHORT CoalescedSegCount;
    USHORT DupAckCount;
  } Info;
  PVOID  Value;
} NDIS_RSC_NBL_INFO, *PNDIS_RSC_NBL_INFO;

成员

Info

包含在 NDIS_RSC_NBL_INFO 中的联合中的成员。 驱动程序使用 信息 访问 RSC 信息。 信息 是包含以下成员的结构:

Info.CoalescedSegCount

NET_BUFFER_LIST结构中的合并段数。 对于非 RSC 数据包,此成员必须设置为零。 驱动程序可以使用 NET_BUFFER_LIST_COALESCED_SEG_COUNT 宏访问此成员。

注意仅当 CoalescedSegCount 不为零时,RscTcpTimestampDelta 信息和 DupAckCount 成员应为非零。 有关 RscTcpTimestampDelta 的详细信息,请参阅备注部分。
 

Info.DupAckCount

形成 NET_BUFFER_LIST 结构时遇到的重复 ACK 数。 仅当 CoalescedSegCount 不为零时,DupAckCount 应为非零。 驱动程序可以使用 NET_BUFFER_LIST_DUP_ACK_COUNT 宏访问此成员。

Value

包含在 NDIS_RSC_NBL_INFO 中的联合中的成员。 驱动程序使用 Value 作为单个 PVOID 访问 RSC 信息。

注解

若要访问与NET_BUFFER_LIST结构关联的接收段合并 (RSC) 计数器信息,NDIS 驱动程序调用 NET_BUFFER_LIST_INFO 宏并指定NDIS_RSC_NBL_INFO联合中的 TcpRecvSegCoalesceInfo 信息类型。

若要访问与 NET_BUFFER_LIST 结构关联的 RSC 时间戳信息,NDIS 驱动程序会调用 NET_BUFFER_LIST_INFO 宏,并指定 RscTcpTimestampDelta 信息类型,即单个 ULONG 值。

注意仅当 CoalescedSegCount 不为零时,NDIS_RSC_NBL_INFORscTcpTimestampDelta 信息和 DupAckCount 成员应为非零。
 
可以为使用 TCP 时间戳选项的合并段设置 RscTcpTimestampDelta 信息。 RscTcpTimestampDelta 信息应包含合并段序列中最早和最新 TCP 时间戳值之间的增量。 微型端口驱动程序可以为 RscTcpTimestampDelta 提供 16 位值。

单个合并单元 ( SCU) 的NET_BUFFER_LIST结构与接收路径上指示的标准 NET_BUFFER_LIST 结构没有 RSC 区别。 SCU 类似于来自线路的 IP Jumbogram 数据包。 因此,每个指示的 SCU 必须为每个 NET_BUFFER_LIST 提供一个 NET_BUFFER结构。

NET_BUFFER可以是 MDL 链,MDL 的总大小可能超过 MTU) (正常的最大传输单元,但必须受最大法定 IP 数据报长度的限制,请参阅 RFC791 第 3.1 节。

此外,还可以为 SCU 提供其他 NET_BUFFER_LIST 信息。 NDIS 执行 NET_BUFFER_LISTNET_BUFFER 验证。 主机 TCPIP 堆栈执行数据包检查,包括 IP 和 TCP 标头验证。

要求

要求
最低受支持的客户端 支持 Windows 8 中的 NDIS 6.30 及更高版本的驱动程序。
标头 ndis/nblrsc.h (包括 ndis.h)

另请参阅

NET_BUFFER_LIST

NET_BUFFER_LIST_COALESCED_SEG_COUNT

NET_BUFFER_LIST_DUP_ACK_COUNT

NET_BUFFER_LIST_INFO