过度部署的驱动程序可以在支持单根 I/O 虚拟化(SR-IOV)的网络适配器上创建的 NIC 交换机上获取虚拟端口 (VPort) 的参数。 驱动程序发出OID_NIC_SWITCH_VPORT_PARAMETERS的对象标识符 (OID) 方法请求以获取这些参数。
过度分配驱动程序发出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 结构的指针。
过度分配驱动程序通过将 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的 VPortId 成员设置为与 VPort 关联的标识符来指定 OID 方法的 VPort 或设置请求。 过度的驱动程序通过以下方法之一获取 VPort 标识符:
从以前的 OID_NIC_SWITCH_CREATE_VPORTOID 方法请求中。
从以前的 OID_NIC_SWITCH_ENUM_VPORTSOID 方法请求中。
言论
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 请求中获取的信息 OID_NIC_SWITCH_CREATE_VPORT 和 OID_NIC_SWITCH_ENUM_VPORTS。
从 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 请求可用于更新默认和非默认 VPorts 的参数。
只能更改 VPort 的配置参数的有限子集。 过度配置驱动程序通过设置 NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构的以下成员来指定要更改的参数:
VPortId 成员设置为要更改其参数的 VPort 的标识符。
相应的 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_Xxx_CHANGED 标志标识的 标志NDIS_NIC_SWITCH_VPORT_PARAMETERS 结构成员标识的配置参数。
有关详细信息,请参阅 设置虚拟端口的参数。
返回状态代码
NDIS 或 PF 微型端口驱动程序返回以下状态代码,用于设置或方法 OID 请求OID_NIC_SWITCH_VPORT_PARAMETERS。
状态代码 | 描述 |
---|---|
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。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员(对于 OID 集请求)到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |