NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO 结构 (ndis/nbluso.h)

NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO 结构指定用于将 UDP 分段卸载 (USO) 任务从 TCP/IP 传输卸载到微型端口适配器的信息。 NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO结构是NET_BUFFER_LIST OOB 信息的一部分。

语法

typedef struct _NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG MSS : 20;
      ULONG UdpHeaderOffset : 10;
      ULONG Reserved : 1;
      ULONG IPVersion : 1;
    } Transmit;
    PVOID Value;
  };
} NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO;

成员

Transmit

包含 USO 信息的各个位字段的结构。

Transmit.MSS

每个 UDP 段的最大段大小 (MSS) (以字节为单位)。 TCP/IP 传输在将大型 UDP 数据包传递到微型端口驱动程序进行分段之前写入此值。

Transmit.UdpHeaderOffset

UDP 标头从 UDP 数据包的开头开始的偏移量(以字节为单位)。 微型端口驱动程序可以使用 UdpHeaderOffset 来确定 UDP 标头的位置,这样它们就不必分析 IP 标头。

Transmit.Reserved

保留。 微型端口驱动程序不得读取或写入此值。

Transmit.IPVersion

数据包的 IP 版本。 对于 IPv4 数据包, IPVersion 设置为 NDIS_UDP_SEGMENTATION_OFFLOAD_IPV4。 对于 IPv6 数据包, IPVersion 设置为 NDIS_UDP_SEGMENTATION_OFFLOAD_IPV6。

Value

USO 信息的 PVOID 版本。 微型端口驱动程序可以使用此成员来访问原始信息,而不是特定字段。

注解

NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO结构是NET_BUFFER_LIST结构中包含的信息的一部分。

若要设置和获取 USO 信息,请将 UdpSegmentationOffloadInfo 索引与 NET_BUFFER_LIST_INFO 宏一起使用。 NET_BUFFER_LIST_INFO 返回 ULONG 值 (而不是指向 ULONG 值的指针) 。

TCP/IP 传输更新NDIS_UDP_SEGMENTATION_OFFLOAD_NET_BUFFER_LIST_INFO结构的 MSSUdpHeaderOffset 成员,然后再将大型数据包发送到微型端口驱动程序。

注意

包含 USO 信息的任何 NET_BUFFER_LIST 结构也包含单个 NET_BUFFER 结构。

要求

要求
最低受支持的客户端 Windows 10版本 1912
标头 ndis/nbluso.h (包括 ndis.h)

另请参阅

UDP 分段卸载 (USO)

NET_BUFFER_LIST