NDIS_NET_BUFFER_LIST_INFO 枚举 (ndis/nblinfo.h)

NDIS_NET_BUFFER_LIST_INFO 枚举标识NET_BUFFER_LIST结构中所有NET_BUFFER结构共有的信息。

语法

typedef enum _NDIS_NET_BUFFER_LIST_INFO {
  TcpIpChecksumNetBufferListInfo,
  TcpOffloadBytesTransferred,
  IPsecOffloadV1NetBufferListInfo,
  IPsecOffloadV2NetBufferListInfo,
  TcpLargeSendNetBufferListInfo,
  TcpReceiveNoPush,
  ClassificationHandleNetBufferListInfo,
  Ieee8021QNetBufferListInfo,
  NetBufferListCancelId,
  MediaSpecificInformation,
  NetBufferListFrameType,
  NetBufferListProtocolId,
  NetBufferListHashValue,
  NetBufferListHashInfo,
  WfpNetBufferListInfo,
  IPsecOffloadV2TunnelNetBufferListInfo,
  IPsecOffloadV2HeaderNetBufferListInfo,
  NetBufferListCorrelationId,
  NetBufferListFilteringInfo,
  MediaSpecificInformationEx,
  NblOriginalInterfaceIfIndex,
  NblReAuthWfpFlowContext,
  TcpReceiveBytesTransferred,
  NrtNameResolutionId,
  UdpRecvSegCoalesceOffloadInfo,
  SwitchForwardingReserved,
  SwitchForwardingDetail,
  VirtualSubnetInfo,
  IMReserved,
  TcpRecvSegCoalesceInfo,
  UdpSegmentationOffloadInfo,
  RscTcpTimestampDelta,
  TcpSendOffloadsSupplementalNetBufferListInfo,
  GftOffloadInformation,
  GftFlowEntryId,
  NetBufferListInfoReserved3,
  SwitchForwardingReserved,
  SwitchForwardingDetail_b0_to_b31,
  SwitchForwardingDetail_b32_to_b63,
  VirtualSubnetInfo,
  NetBufferListInfoReserved1,
  NetBufferListInfoReserved2,
  MaxNetBufferListInfo
} NDIS_NET_BUFFER_LIST_INFO, *PNDIS_NET_BUFFER_LIST_INFO;

常量

 
TcpIpChecksumNetBufferListInfo
标识用于从 TCP/IP 协议卸载校验和任务的校验和信息
到微型端口驱动程序。 When
指定了 TcpIpChecksumNetBufferListInfo,NET_BUFFER_LIST_INFO宏返回

NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO结构。 此结构包含允许的联合
要作为单个 PVOID 值或位字段访问的校验和信息。
TcpOffloadBytesTransferred
标识一个 ULONG 值,该值是 TCP 烟囱中传输的数据字节数
卸载发送、接收或断开连接操作。
IPsecOffloadV1NetBufferListInfo
标识 internet 协议安全性 (IPsec) 卸载 IPsec 任务时使用的信息
从 TCP/IP 协议到微型端口驱动程序。 When
指定了 IPsecOffloadV1NetBufferListInfo,NET_BUFFER_LIST_INFO返回

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO结构。
IPsecOffloadV2NetBufferListInfo
指定 Internet 协议安全卸载版本 2 (IPsecV2) 中使用的信息
将 IPsec 任务从 TCP/IP 协议卸载到微型端口驱动程序。 指定时
IPsecOffloadV2NetBufferListInfoNET_BUFFER_LIST_INFO 返回

NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO结构。
TcpLargeSendNetBufferListInfo
标识用于从 卸载大型 TCP 数据包分段的信息
用于大型发送卸载版本 1 (LSOV1) 和大型发送卸载的微型端口适配器的 TCP/IP 协议
版本 2 (LSOV2) 。 When
指定了 TcpLargeSendNetBufferListInfo,NET_BUFFER_LIST_INFO返回

NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO结构。 此结构包含的联合
使信息能够以单个 PVOID 值或位字段的形式进行访问。

在将大型 TCP 数据包传递到微型端口驱动程序进行分段之前,TCP/IP 协议会写入
中的值
LsoV1Transmit 成员
LSOV1 的NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO
结构

LSOV2 的 LsoV2Transmit 成员。 在完成发送它拥有的大型 TCP 数据包之前
微型端口驱动程序分段为较小的数据包,在 中写入值
的 LsoV1TransmitComplete 成员
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 结构
LSOV1 或
LSOV2 的 LsoV2TransmitComplete 成员。 对于 LSOV1,微型端口驱动程序写入的值
包括微型端口驱动程序在数据包中发送的 TCP 有效负载字节总数
从大型 TCP 数据包分段。
TcpReceiveNoPush
标识一个 布尔 值,该值表示 TCP 烟囱卸载接收请求的推送模式。
如果 为 TRUE,则接收请求处于非推送模式。 否则,接收请求处于推送模式。
ClassificationHandleNetBufferListInfo
保留。
Ieee8021QNetBufferListInfo
标识有关数据包的 802.1Q 信息。 When
指定了 Ieee8021QNetBufferListInfo
NET_BUFFER_LIST_INFO 返回
的值 成员

NDIS_NET_BUFFER_LIST_8021Q_INFO结构。 此结构可以指定 802.1p 优先级和 VLAN
标识符信息。 802.1p 优先级信息用于在共享媒体中建立数据包优先级
802 网络。 在硬件中支持 802.1Q 标记的微型端口驱动程序必须使用

传输和接收操作的NDIS_NET_BUFFER_LIST_8021Q_INFO
结构。
NetBufferListCancelId
标识一个 ULONG_PTR 值,该值是 的取消标识符
NET_BUFFER_LIST 结构。 取消
等待传输标记 NET_BUFFER_LIST 结构,协议驱动程序通过数据包的
取消标识符到

NdisCancelSendNetBufferLists
。 驱动程序必须调用

NdisGeneratePartialCancelId
以获取驱动程序必须用作 高阶字节的值
取消标识符。
MediaSpecificInformation
标识一个 PVOID 值,该值是驱动程序分配的缓冲区的地址。 此缓冲区包含
附带的任何特定于媒体的带外数据
NET_BUFFER 与关联的结构
NET_BUFFER_LIST结构。 如果协议驱动程序分配了带外数据,则它配置了
发送操作的数据。 如果微型端口驱动程序分配了数据,则它为接收配置了数据
指示。
NetBufferListFrameType
标识 USHORT 值,该值是接收的以太网数据包的帧类型。
NetBufferListProtocolId
将作为协议标识符的 UCHAR 值标识为以下值之一:


  • NDIS_PROTOCOL_ID_DEFAULT
    • 默认协议驱动程序标识符。

  • NDIS_PROTOCOL_ID_TCP_IP
    • TCP/IP 协议。

  • NDIS_PROTOCOL_ID_IPX
    • IPX 协议。

  • NDIS_PROTOCOL_ID_NBF
    • NetBEUI 协议。

NetBufferListHashValue
在接收路径上,
NetBufferListHashValue 标识一个 ULONG 值,该值是 NIC 计算的 RSS 哈希值,
如果有任何,则为 。

在传输路径上,
NetBufferListHashValue 标识一个 ULONG 值,该值是 TCP/IP 计算的 RSS 哈希值,
如果有任何,则为 。 在这种情况下,TCP/IP 提交的NET_BUFFER_LIST结构中的所有NET_BUFFER结构
属于同一 UDP 或 TCP 连接。 因此,此哈希值适用于所有 NET_BUFFER
NET_BUFFER_LIST 结构中的结构。

有关详细信息,请参阅
指示 RSS 接收
数据
NetBufferListHashInfo
标识一个 ULONG 值,该值是 RSS 哈希信息,其中包括哈希函数 和
哈希类型。 有关详细信息,请参阅
指示 RSS 接收
数据
WfpNetBufferListInfo
保留供 Windows 筛选平台 (WFP) 使用。 无司机,包括世界粮食计划署标注
驱动程序,可以使用此值来存储信息。
IPsecOffloadV2TunnelNetBufferListInfo
指定用于从 TCP/IP 协议卸载 IPsec 任务的 IPsecV2 隧道信息
到微型端口驱动程序。 指定时
IPsecOffloadV2TunnelNetBufferListInfo,NET_BUFFER_LIST_INFO返回

NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO结构。
IPsecOffloadV2HeaderNetBufferListInfo
指定用于从 TCP/IP 协议卸载 IPsec 任务的 IPsecV2 标头信息
到微型端口驱动程序。 指定 IPsecOffloadV2HeaderNetBufferListInfo 时, NET_BUFFER_LIST_INFO 返回

NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO结构。
NetBufferListCorrelationId
保留。
NetBufferListFilteringInfo
指定虚拟机队列 (VMQ) 接口、单根 I/O 虚拟化 (SR-IOV) 接口和 NDIS 数据包合并中使用的筛选信息。 指定时
NetBufferListFilteringInfo,NET_BUFFER_LIST_INFO返回

NDIS_NET_BUFFER_LIST_FILTERING_INFO结构。

从 NDIS 6.20 开始,接收支持 VMQ、SR-IOV 或数据包合并的微型端口驱动程序发出的指示必须包含 NDIS_NET_BUFFER_LIST_FILTERING_INFO 结构。 微型端口驱动程序必须在 中设置 VMQ 队列标识符
QueueId 成员
NDIS_NET_BUFFER_LIST_FILTERING_INFO结构。 驱动程序还会将 NDIS_NET_BUFFER_LIST_FILTERING_INFO 结构的 FilterId 成员设置为零。

注意从 NDIS 6.30 开始,支持 SR-IOV 或数据包合并的微型端口驱动程序必须将 QueueId 设置为 NDIS_DEFAULT_RECEIVE_QUEUE_ID,将 FilterId 成员设置为零。

 
MediaSpecificInformationEx
标识指向驱动程序分配的指针

NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX结构。 此结构标识任何特定于媒体的
NET_BUFFER_LIST关联的NET_BUFFER结构附带的带外数据
结构。 NDIS 6.20 及更高版本的驱动程序应使用
NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX 结构
指定媒体特定信息。 NDIS 驱动程序堆栈中的任何驱动程序都可以分配和管理
特定于媒体的信息。
NblOriginalInterfaceIfIndex
保留。
NblReAuthWfpFlowContext
保留。
TcpReceiveBytesTransferred
标识一个 ULONG 值,该值是主机堆栈接收的数据字节数,
填充了正在作为 TCP 烟囱卸载接收操作处理的接收请求。
NrtNameResolutionId
保留。
UdpRecvSegCoalesceOffloadInfo
保留供协议驱动程序使用。
SwitchForwardingReserved
保留给 NDIS。
SwitchForwardingDetail
标识指向驱动程序分配 的NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO 结构的指针。 此结构指定用于将数据包转发到 Hyper-V 可扩展交换机的一个或多个端口的信息。 驱动程序通过调用 AllocateNetBufferListForwardingContext 来分配此结构,并通过调用 FreeNetBufferListForwardingContext 释放结构。
VirtualSubnetInfo
标识指向驱动程序分配 的NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO 结构的指针。
IMReserved
保留给 NDIS。
TcpRecvSegCoalesceInfo
标识指向驱动程序分配 的NDIS_RSC_NBL_INFO 联合的指针,其中包含接收段合并 (RSC) 计数器信息。 有关详细信息,请参阅 NDIS_RSC_NBL_INFO 文档。
UdpSegmentationOffloadInfo
标识用于将大型 TCP 数据包分段从 TCP/IP 协议卸载到用于 UDP 分段卸载的微型端口适配器的信息, (USO) 。 指定 UdpSegmentationOffloadInfo 时, NET_BUFFER_LIST_INFO 返回 NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO 结构。 此结构包含一个联合,使信息能够以单个 PVOID 值或位字段的形式进行访问。
RscTcpTimestampDelta
标识包含 RSC 时间戳信息的 ULONG 值。 有关详细信息,请参阅 NDIS_RSC_NBL_INFO 文档。
TcpSendOffloadsSupplementalNetBufferListInfo
标识指向驱动程序分配 的NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO 结构的指针,该结构包含封装数据包的其他带外信息。
GftOffloadInformation
通用流表 (GFT) 卸载信息。
GftFlowEntryId
GFT 的流条目 ID。
NetBufferListInfoReserved3
保留。
SwitchForwardingReserved
保留给 NDIS。
SwitchForwardingDetail_b0_to_b31
标识指向驱动程序分配 的NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO 结构的指针。 SwitchForwardingDetail_b0_to_b31SwitchForwardingDetail_b32_to_b63 用于适应 32b 模式的 64b OOB 数据。 在 NDIS 6.82 及更高版本中可用。
SwitchForwardingDetail_b32_to_b63
请参阅 SwitchForwardingDetail_b0_to_b31
VirtualSubnetInfo
标识指向驱动程序分配 的NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO 结构的指针。
NetBufferListInfoReserved1
保留给 NDIS。
NetBufferListInfoReserved2
保留给 NDIS。
MaxNetBufferListInfo
此枚举的最大值。 此值可能会在 NDIS 头文件和二进制文件的未来版本中更改。

注解

NDIS_NET_BUFFER_LIST_INFO 枚举在NET_BUFFER_LIST结构中使用。

将这些枚举值与 NET_BUFFER_LIST_INFO 宏一起使用,以在 NET_BUFFER_LIST 中设置和获取 NetBufferListInfo 数组中的值。

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
标头 ndis/nblinfo.h (包括 ndis.h)

另请参阅

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO NDIS_NBL_MEDIA_SPECIFIC_INFORMATION_EX NDIS_NET_BUFFER_LIST_8021Q_INFO NDIS_NET_BUFFER_LIST_FILTERING_INFO

NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO

NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisCancelSendNetBufferLists

NdisGeneratePartialCancelId