过度的驱动程序发出OID_NIC_SWITCH_ALLOCATE_VF的对象标识符(OID)方法请求,为 PCI Express (PCIe) 虚拟函数(VF)分配资源。 VF 在支持单根 I/O 虚拟化(SR-IOV)接口的网络适配器上公开。
过度分配驱动程序向网络适配器的 PCIe 物理功能(PF)的微型端口驱动程序发出此 OID 方法请求。 支持单根 I/O 虚拟化(SR-IOV)接口的 PF 微型端口驱动程序需要此 OID 方法请求。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_NIC_SWITCH_VF_PARAMETERS 结构的指针。
言论
当驱动程序处理OID_NIC_SWITCH_ALLOCATE_VF的对象标识符(OID)方法请求时,PF 微型端口驱动程序将为 VF 分配软件资源。 尽管已为 VF 分配了硬件资源,但在 PF 微型端口驱动程序成功完成OID_NIC_SWITCH_ALLOCATE_VF之前,它仍被视为非作资源。
有关如何分配 VF 资源的详细信息,请参阅 为虚拟函数分配资源。
注意 过度的驱动程序请求 VF 的资源分配后,该驱动程序是唯一可以请求释放同一 VF 的资源的组件。 过度分配的驱动程序必须发出 OID 集 OID_NIC_SWITCH_FREE_VF 请求来释放 VF 资源。 在暂停过度驱动程序之前,它必须释放由驱动程序OID_NIC_SWITCH_ALLOCATE_VF请求分配的每个 VF 的资源。
返回状态代码
PF 微型端口驱动程序为 OID_NIC_SWITCH_ALLOCATE_VF 的 OID 方法请求返回以下状态代码之一。
| 状态代码 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
NDIS_STATUS_NOT_SUPPORTED |
PF 微型端口驱动程序要么不支持单个根 I/O 虚拟化(SR-IOV)接口,要么未启用该接口。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VF_PARAMETERS 结构的一个或多个成员具有无效值。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区的长度小于 sizeof(NDIS_NIC_SWITCH_VF_PARAMETERS)。 PF 微型端口驱动程序必须设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |