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 结构。

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

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

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2

为 NDIS 6.50 添加了 QosSqId 字段。

Size 成员设置为NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2。

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1

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

Size 成员设置为 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 后已更新 Flags 成员。 在使用 OID_NIC_SWITCH_VPORT_PARAMETERS 的 OID 集请求创建 VPort 后,可以启用或禁用这些标志。

注意

仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED

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

注意

仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED

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

注意

仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED

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

注意

仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED

此标志指定在创建 VPort 后更新 ProcessoryAffinity 成员。 仅当 VPort 连接到网络适配器上的 PF 时,才能更新 VPort 的处理器相关性。 可以使用 OID_NIC_SWITCH_VPORT_PARAMETERS 的 OID 集请求更新 ProcessoryAffinity成员。

注意

仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。

NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED

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

注意 仅当此结构用于 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求时,此标志才有效。
 

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

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

AttachedFunctionId

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

NumQueuePairs

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

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

InterruptModeration

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

VPortState

一个NDIS_NIC_SWITCH_VPORT_STATE值,该值指定 VPort 的当前状态。

ProcessorAffinity

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

注意

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

创建 VPort 后,可以更改与附加到 PF 的非默认 VPort 关联的处理器相关性。 还可以通过使用OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求来更改与默认 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 (包括 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