过度的驱动程序发出OID_SRIOV_SET_VF_POWER_STATE的对象标识符(OID)集请求,以更改网络适配器上指定 PCI Express (PCIe) 虚拟函数(VF)的电源状态。 由于更改电源状态是特权作,因此过度分配驱动程序会向网络适配器上的 PCIe 物理函数(PF)的微型端口驱动程序发出此 OID 集请求。 然后,PF 微型端口驱动程序在 VF 上设置指定的电源状态。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS 结构的指针。
言论
当 PF 微型端口驱动程序发出此 OID 集请求时,它必须遵循以下准则:
PF 微型端口驱动程序必须验证由 NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS 结构的 VFId 成员指定的 VF 是否具有以前分配的资源。 PF 微型端口驱动程序在 OID 方法请求 OID_NIC_SWITCH_ALLOCATE_VF期间为 VF 分配资源。 如果指定的 VF 未处于分配状态,驱动程序必须失败 OID 请求。
电源状态作只能影响指定的 VF。 该作不得影响同一网络适配器上的其他 VF 或 PF。
有关详细信息,请参阅 设置虚拟函数的电源状态。
返回状态代码
PF 微型端口驱动程序返回以下 OID 集OID_SRIOV_SET_VF_POWER_STATE请求的状态代码之一。
| 状态代码 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
NDIS_STATUS_NOT_SUPPORTED |
PF 微型端口驱动程序要么不支持单个根 I/O 虚拟化(SR-IOV)接口,要么未启用该接口。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS 结构的一个或多个成员具有无效值。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区太短。 PF 微型端口驱动程序必须设置 数据。SET_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |