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 方法请求 OID_NIC_SWITCH_CREATE_VPORT。
从以前的 OID 方法请求 OID_NIC_SWITCH_ENUM_VPORTS。
注解
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 结构的以下成员来指定要更改的参数:
VPortId 成员设置为将更改其参数的 VPort 的标识符。
在 Flags 成员中设置相应的 NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED 标志。 只有在 Ntddndis.h 中定义了相应的 NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED 标志时,才能更改 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的成员。
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) |