OID_NIC_SWITCH_ALLOCATE_VF

过度的驱动程序发出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)

另请参阅


NDIS_MAKE_RID

OID_NIC_SWITCH_CREATE_SWITCH

OID_NIC_SWITCH_CREATE_VPORT

NDIS_NIC_SWITCH_VF_PARAMETERS

OID_NIC_SWITCH_FREE_VF