NDIS_NIC_SWITCH_VPORT_PARAMETERS结构(ntddndis.h)

NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构指定网络适配器交换机上虚拟端口(VPort)的配置。

语法

typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS {
  NDIS_OBJECT_HEADER                         Header;
  ULONG                                      Flags;
  NDIS_NIC_SWITCH_ID                         SwitchId;
  NDIS_NIC_SWITCH_VPORT_ID                   VPortId;
  NDIS_VPORT_NAME                            VPortName;
  NDIS_SRIOV_FUNCTION_ID                     AttachedFunctionId;
  ULONG                                      NumQueuePairs;
  NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
  NDIS_NIC_SWITCH_VPORT_STATE                VPortState;
  GROUP_AFFINITY                             ProcessorAffinity;
  ULONG                                      LookaheadSize;
  NDIS_NDK_PARAMETERS                        NdkParams;
  NDIS_QOS_SQ_ID                             QosSqId;
} NDIS_NIC_SWITCH_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_VPORT_PARAMETERS;

成员

Header

NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。

微型端口驱动程序必须将 标头类型 成员设置为NDIS_OBJECT_TYPE_DEFAULT。

若要指示 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的版本,请将 Revision 成员 标头 设置为以下值之一:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2

为 NDIS 6.50 添加了 QosSqId 字段。

大小 成员设置为NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2。

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1

NDIS 6.30 及更高版本的原始版本。

大小 成员设置为NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1。

Flags

包含按位 OR 标志的 ULONG 值。 为此成员定义了以下标志。

NDIS_NIC_SWITCH_VPORT_PARAMS_LOOKAHEAD_SPLIT_ENABLED

此标志保留供将来使用。 微型端口驱动程序必须忽略此标志。

NDIS_NIC_SWITCH_VPORT_PARAMS_FLAGS_CHANGED

此标志指定在创建 VPort 后更新了 标志 成员。 使用 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求创建 VPort 后,可以启用或禁用这些标志。

注意

仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED

此标志指定创建 VPort 后 VPortName 成员已更新。 可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求更新此成员。

注意

仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED

此标志指定在创建 VPort 后更新了 InterruptModeration 成员。 可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求更新此成员。

注意

仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED

此标志指定创建 VPort 后,VPortState 成员已更新。 可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求更新此成员。

注意

仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED

此标志指定创建 VPort 后,ProcessoryAffinity 成员已更新。 仅当 VPort 附加到网络适配器上的 PF 时,才能更新 VPort 的处理器关联。 ProcessoryAffinity 成员可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求进行更新。

注意

仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED

此标志指定创建 VPort 后,NumQueuePairs 成员已更新。 启用 虚拟机多队列(VMMQ) 时,可以更新默认和非默认 Vport 的队列数。 NumQueuePairs 成员可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求进行更新。

注意 仅在 OID 集 OID_NIC_SWITCH_VPORT_PARAMETERS请求中使用此结构时,此标志才有效。
 

SwitchId

一个NDIS_NIC_SWITCH_ID值,该值指定要在其中创建 VPort 的开关的标识符。

交换机标识符是一个介于零和网络适配器支持的交换机数之间的整数。 NDIS_DEFAULT_SWITCH_ID值指示默认网络适配器交换机。

注意

从 Windows Server 2012 开始,单根 I/O 虚拟化(SR-IOV)接口仅支持网络适配器上的默认网络适配器交换机。 此成员的值必须设置为NDIS_DEFAULT_SWITCH_ID。

VPortId

一个NDIS_NIC_SWITCH_VPORT_ID值,该值指定网络适配器上的 VPort 的标识符。 该值由 NDIS 分配,并且在整个网络适配器中是唯一的。

VPortId 值在从零到 (NumVPorts - 1)范围内,其中 NumVPorts 是微型端口驱动程序在网络适配器上配置的 VPort 数。 驱动程序在 NDIS_NIC_SWITCH_INFO 结构的 NumVPorts 成员中指定此数字。 驱动程序通过 OID_NIC_SWITCH_ENUM_SWITCHES的 OID 查询请求返回此结构。

注意

NDIS_DEFAULT_VPORT_ID的 VPort 标识符是为默认 NIC 交换机上附加到 PF 的默认 VPort 保留的。

VPortName

指定 VPort 名称的NDIS_VPORT_NAME值。 此成员包含 VPort 的用户友好说明。

AttachedFunctionId

一个NDIS_SRIOV_FUNCTION_ID值,该值指定 VPort 附加到的物理函数(PF)或虚拟函数(VF)的 ID。 NDIS_PF_FUNCTION_ID的值指定 VPort 附加到 PF。 如果该值是有效的 VF 标识符,则 VPort 将附加到 VF。

NumQueuePairs

一个 ULONG 值,该值指定为此 VPort 配置的队列对数。

队列对由传输队列和接收队列组成。 在通过 OID_NIC_SWITCH_CREATE_SWITCH的 OID 方法请求创建交换机时配置与默认 VPort 关联的队列对。 通过 OID_NIC_SWITCH_CREATE_VPORT的 OID 方法请求在非默认 VPort 上配置一个或多个队列对。

InterruptModeration

一个 NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION 值,该值指定 VPort 的中断审查设置。

VPortState

指定 VPort 的当前状态的 NDIS_NIC_SWITCH_VPORT_STATE 值。

ProcessorAffinity

一个GROUP_AFFINITY值,该值指定与此 VPort 关联的 CPU 的组号和位图。 此字段仅适用于附加到 PF 的 VPorts。

注意

对于非默认 PF VPorts,GROUP_AFFINITY值,该值指定在创建 VPort 时只能指定一个处理器。 VPorts 是通过 OID_NIC_SWITCH_CREATE_VPORT的 OID 方法请求创建的。

创建 VPort 后,可以更改与附加到 PF 的非默认 VPort 关联的处理器关联。 也可以使用 OID 集请求 OID_NIC_SWITCH_VPORT_PARAMETERS更改与默认 VPort 关联的处理器关联。

LookaheadSize

此成员保留供将来使用。 此成员必须设置为零。

NdkParams

QosSqId

将 vPort 与计划程序队列(SQ)相关联。 将此字段设置为有效的 SQ ID,以将 vPort 关联到 SQ。 如果没有 SQ 关联,请将此字段设置为 。 有关 NDIS_QOS_SQ_ID的详细信息,请参阅 OID_QOS_OFFLOAD_CREATE_SQ

言论

此结构用于 OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_VPORT_PARAMETERS的 OID 请求。

有关 SR-IOV 接口的详细信息,请参阅 单根 I/O 虚拟化(SR-IOV)概述。

要求

要求 价值
最低支持的客户端 NDIS 6.30 及更高版本中受支持。
支持的最低服务器 Windows Server 2022
标头 ntddndis.h (include Ndis.h)

另请参阅

NDIS_NIC_SWITCH_INFO

NDIS_NIC_SWITCH_VF_INFO

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_ENUM_SWITCHES

OID_NIC_SWITCH_VPORT_PARAMETERS