NDIS_HD_SPLIT_CURRENT_CONFIG 结构 (ntddndis.h)

NDIS_HD_SPLIT_CURRENT_CONFIG 结构提供微型端口适配器的当前标头数据拆分配置。

语法

typedef struct _NDIS_HD_SPLIT_CURRENT_CONFIG {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              HDSplitCombineFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_CURRENT_CONFIG, *PNDIS_HD_SPLIT_CURRENT_CONFIG;

成员

Header

NDIS_HD_SPLIT_CURRENT_CONFIG 结构的NDIS_OBJECT_HEADER结构。 驱动程序将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT,将 Revision 成员设置为 NDIS_HD_SPLIT_CURRENT_CONFIG_REVISION_1,并将 Size 成员设置为 NDIS_SIZEOF_HD_SPLIT_CURRENT_CONFIG_REVISION_1。

HardwareCapabilities

微型端口适配器支持的标头数据拆分硬件功能。 这些功能应包括当前由 INF 文件设置或通过 “高级 属性”页禁用的功能。 HardwareCapabilities 的值是按位或以下标志:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

微型端口适配器可以将标头和数据拆分为单独的内存描述符列表, (MDL) 满足标头-数据拆分支持的要求。

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

微型端口适配器可以拆分包含 IPv4 选项的 IPv4 以太网帧。 微型端口适配器可以支持拆分某些 IPv4 选项,而不支持拆分其他 IPv4 选项。

注意 NIC 不得拆分包含不受支持的 IPv4 选项的 IPv4 帧。 如果拆分 IPv4 帧,则拆分帧的标头部分必须包含整个 IPv4 标头和存在的所有 IPv4 选项。
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

微型端口适配器可以拆分包含 IPv6 扩展标头的 IPv6 以太网帧。 微型端口适配器可以支持某些 IPv6 扩展标头,而不支持其他标头。

注意 NIC 不得拆分包含不受支持的 IPv6 扩展标头的 IPv6 帧。 如果拆分 IPv6 帧,则拆分帧的标头部分必须包含整个 IPv6 标头和存在的所有 IPv6 扩展标头。
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

除了时间戳选项之外,微型端口适配器还可以使用其他 TCP 选项拆分 TCP 帧。 微型端口适配器可以支持某些 TCP 选项,而不支持其他选项。

注意 如果帧中唯一的 TCP 选项是时间戳选项,则数据拆分提供程序必须能够拆分帧。
 
注意 如果 TCP 标头包含不受支持的 TCP 选项,则 NIC 必须拆分 TCP 标头开头的帧,否则不得拆分该帧。
 

CurrentCapabilities

微型端口适配器支持的当前标头数据拆分功能。 微型端口驱动程序使用为 HardwareCapabilities 成员定义的相同标志。 在这种情况下,将设置标志以指示依赖于当前配置设置的当前功能。

HDSplitFlags

一组标志,用于报告微型端口适配器的标头数据拆分状态。 NDIS 使用以下标志的按位 OR 设置此成员:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

微型端口驱动程序已在硬件中启用了标头数据拆分。 否则,将禁用标头数据拆分。

HDSplitCombineFlags

一组标志,指定微型端口适配器的当前标头数据拆分设置。 HDSplitCombineFlags 的值可以是以下标志的按位或:

NDIS_HD_SPLIT_COMBINE_ALL_HEADERS

微型端口适配器正在组合拆分帧。 如果在硬件中启用了标头数据拆分,微型端口驱动程序应在将帧指示为 NDIS 之前合并标头和数据。

BackfillSize

微型端口驱动程序用于拆分帧的数据部分的回填大小(以字节为单位)。

MaxHeaderSize

微型端口驱动程序用于拆分帧的标头部分的最大大小(以字节为单位)。

注意 如果由于存在 IPv4 选项、IPsec 标头或 IPv6 扩展标头,标头的长度超过 MaxHeaderSize ,则不得拆分帧。 如果包含 TCP 或 UDP 标头的标头由于存在 TCP 标头、TCP 选项或 UDP 标头而超出 MaxHeaderSize ,则 NIC 必须在上层协议标头的开头拆分帧,或者不得拆分帧。
 

注解

NDIS_HD_SPLIT_CURRENT_CONFIG 结构用于 OID_GEN_HD_SPLIT_CURRENT_CONFIG 用于获取微型端口适配器的当前标头数据拆分配置的 OID 查询请求。

要求

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

另请参阅

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes

OID_GEN_HD_SPLIT_CURRENT_CONFIG