查询虚拟功能的参数

过度驱动程序或用户模式应用程序可以在支持单根 I/O 虚拟化 (SR-IOV) 的网络适配器上获取 PCI Express (PCIe) Virtual Function (VF) 的当前参数。 驱动程序或应用程序发出对象标识符 (OID) 方法请求OID_NIC_SWITCH_VF_PARAMETERS 以获取这些参数。

在过度分配的驱动程序发出此 OID 方法请求之前,它必须初始化 NDIS_NIC_SWITCH_VF_PARAMETERS 结构。 驱动程序或应用程序必须将 VFId 成员设置为要为其返回参数的 VF 的标识符。 可以通过以下方式获取 VF 标识符:

  • 通过发出 OID_NIC_SWITCH_ENUM_VFS 的 OID 方法请求。

    如果此 OID 请求成功完成,则过度分配的驱动程序或用户模式应用程序将收到网络适配器上分配的所有 VF 的列表。 列表中的每个元素都是 一个NDIS_NIC_SWITCH_VF_INFO 结构, VF 标识符由 VFId 成员指定。

  • 通过发出 OID_NIC_SWITCH_ALLOCATE_VF 的 OID 方法请求。

    如果此 OID 请求成功完成,则过度驱动程序会在返回的 NDIS_NIC_SWITCH_VF_PARAMETERS 结构的 VFId 成员中接收新创建的 VF 的标识符。

    注意 只有过度使用驱动程序才能以这种方式获取 VF 标识符。

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

NDIS 处理微型端口驱动程序 的OID_NIC_SWITCH_VF_PARAMETERS 请求。 NDIS 从它通过检查以下源维护的数据的内部缓存中返回信息: