OID_NIC_SWITCH_ALLOCATE_VF

过度分配的驱动程序发出对象标识符 (OID) 方法请求OID_NIC_SWITCH_ALLOCATE_VF,以便为 PCI Express (PCIe) Virtual Function (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) OID_NIC_SWITCH_ALLOCATE_VF 方法请求时,PF 微型端口驱动程序为 VF 分配软件资源。 即使已为 VF 分配硬件资源,在 PF 微型端口驱动程序成功完成OID_NIC_SWITCH_ALLOCATE_VF之前,该资源仍被视为非操作资源。

有关如何分配 VF 资源的详细信息,请参阅 为虚拟函数分配资源

注意 在过度分配的驱动程序请求为 VF 分配资源后,该驱动程序是唯一可以请求释放同一 VF 的资源的组件。 过度分配的驱动程序必须发出 OID_NIC_SWITCH_FREE_VF 的 OID 集请求来释放 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

信息缓冲区的长度小于大小 (NDIS_NIC_SWITCH_VF_PARAMETERS) 。 PF 微型端口驱动程序必须设置 DATA。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