NDIS_RSC_NBL_INFO union (ndis/nblrsc.h)

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

语法

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的联合中的成员。 驱动程序使用 作为单个 PVOID访问 RSC 信息。

言论

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

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

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

单个合并单元(SCU)的 NET_BUFFER_LIST 结构与没有 RSC 的接收路径上指示的标准 NET_BUFFER_LIST 结构不同。 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 (include ndis.h)

另请参阅

NET_BUFFER_LIST

NET_BUFFER_LIST_COALESCED_SEG_COUNT

NET_BUFFER_LIST_DUP_ACK_COUNT

NET_BUFFER_LIST_INFO