过度分配的驱动程序或用户模式应用程序发出OID_NIC_SWITCH_VF_PARAMETERS的对象标识符(OID)方法请求,以获取网络适配器上的 PCI Express (PCIe) 虚拟函数(VF)的当前配置参数。 只有通过 OID 方法请求分配 OID_NIC_SWITCH_ALLOCATE_VF 的资源的 VF 才能通过 OID_NIC_SWITCH_VF_PARAMETERS 的 OID 方法请求进行查询。
NDIS 处理微型端口驱动程序OID_NIC_SWITCH_VF_PARAMETERS的 OID 方法请求。
发出 OID 方法请求时,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_NIC_SWITCH_VF_PARAMETERS 结构的指针。
言论
过度配置驱动程序或用户模式应用程序通过将 VFId 成员 NDIS_NIC_SWITCH_VF_PARAMETERS 结构设置为 VF 的标识符来指定要查询的 VF。 过度部署的驱动程序或应用程序通过以下方法之一获取 VF 标识符:
通过发出 OID_NIC_SWITCH_ENUM_VFS的 OID 方法请求。
如果此 OID 请求成功完成,过度分配的驱动程序或用户模式应用程序将收到网络适配器上分配的所有 VF 的列表。 列表中的每个元素都是一个 NDIS_NIC_SWITCH_VF_INFO 结构,由 VFId 成员指定的 VF 标识符。
通过发出 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的 OID 方法请求,并为 OID_NIC_SWITCH_VF_PARAMETERS 的 OID 方法请求返回以下状态代码。
| 状态代码 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
请求成功完成。 InformationBuffer 成员指向 NDIS_NIC_SWITCH_VF_PARAMETERS 结构。 |
NDIS_STATUS_NOT_SUPPORTED |
微型端口驱动程序要么不支持单个根 I/O 虚拟化(SR-IOV)接口,要么未启用该接口。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VF_PARAMETERS 结构的一个或多个成员具有无效值。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区的长度小于 sizeof(NDIS_NIC_SWITCH_VF_PARAMETERS)。 NDIS 设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区太短。 NDIS 设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |