OID_NIC_SWITCH_VPORT_PARAMETERS

在支持单根 I/O 虚拟化 (SR-IOV) 的网络适配器上创建的 NIC 交换机上,过度分配驱动程序可以获取虚拟端口 (VPort) 的参数。 驱动程序发出对象标识符 (OID) OID_NIC_SWITCH_VPORT_PARAMETERS 的方法请求以获取这些参数。

超载驱动程序发出OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求,以设置附加到网络适配器的 NIC 交换机的指定 VPort 的配置参数。 这些 OID 集请求将发送到网络适配器的 PCI Express (PCIe) 物理功能 (PF) 的微型端口驱动程序。 支持单根 I/O 虚拟化 (SR-IOV) 接口的 PF 微型端口驱动程序需要这些 OID 集请求。

NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向NDIS_NIC_SWITCH_VPORT_PARAMETERS结构的指针。

overlying 驱动程序指定 OID 方法的 VPort,或通过将 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的 VPortId 成员设置为与 VPort 关联的标识符来设置请求。 覆盖驱动程序通过以下方法之一获取 VPort 标识符:

注解

OID_NIC_SWITCH_VPORT_PARAMETERS可用于 OID 方法请求OID 集请求

处理OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 方法请求

过度的驱动程序发出OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 方法请求,以查询附加到网络适配器的 NIC 交换机的 VPort 的当前配置参数。 通过将NDIS_NIC_SWITCH_VPORT_PARAMETERS结构的VPortId 成员设置为 VPort 标识符来指定要查询的 VPort。

NDIS 处理微型端口驱动程序OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 方法请求。 NDIS 返回从OID_NIC_SWITCH_CREATE_VPORT和OID_NIC_SWITCH_ENUM_VPORTS的先前 OID 请求中获取的信息。

从 OID 方法请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的指针。 此结构包含指定交换机的配置参数。

有关详细信息,请参阅 查询虚拟端口的参数

处理OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求

过分的驱动程序发出OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求,以更改附加到网络适配器的 NIC 交换机的 VPort 的当前配置参数。 此 OID 请求可用于更新默认和非默认 VPort 的参数。

只能更改 VPort 的有限配置参数子集。 overlying 驱动程序通过设置 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的以下成员来指定要更改的参数:

  1. VPortId 成员设置为将更改其参数的 VPort 的标识符。

  2. Flags 成员中设置相应的 NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED 标志。 只有在 Ntddndis.h 中定义了相应的 NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED 标志时,才能更改 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的成员

  3. NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的相应成员是使用要更改的 VPort 配置参数设置的。

在 PF 微型端口驱动程序收到OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求后,驱动程序使用配置参数配置硬件。 驱动程序只能更改由 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的Flags 成员中的 NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED 标志标识的配置参数。

有关详细信息,请参阅 设置虚拟端口的参数

返回状态代码

NDIS 或 PF 微型端口驱动程序为OID_NIC_SWITCH_VPORT_PARAMETERS的集或方法 OID 请求返回以下状态代码。

状态代码 说明

NDIS_STATUS_SUCCESS

请求已成功完成。 InformationBuffer 指向NDIS_NIC_SWITCH_CAPABILITIES结构。

NDIS_STATUS_NOT_SUPPORTED

PF 微型端口驱动程序不支持单根 I/O 虚拟化 (SR-IOV) 接口,或者未启用该接口。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的一个或多个成员具有无效值。

NDIS_STATUS_INVALID_LENGTH

信息缓冲区太短。 NDIS 或 PF 微型端口驱动程序设置 数据。METHOD_INFORMATION。BytesNeeded 成员 (用于 OID 方法请求) 或 DATA。SET_INFORMATION。OID 集请求的 BytesNeeded 成员 () NDIS_OID_REQUEST 结构中所需的最小缓冲区大小。

NDIS_STATUS_FAILURE

由于其他原因,请求失败。

要求

版本

在 NDIS 6.30 及更高版本中受支持。

标头

Ntddndis.h (包括 Ndis.h)

另请参阅


NDIS_NIC_SWITCH_VPORT_PARAMETERS

NDIS_OID_REQUEST

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_ENUM_VPORTS