OID_NIC_SWITCH_FREE_VF

上层驱动程序发出对象标识符 (OID) OID_NIC_SWITCH_FREE_VF集请求,以释放网络适配器的 PCI Express (PCIe) Virtual Function (VF) 的资源。

过大驱动程序向网络适配器的 PCIe 物理功能 (PF) 的微型端口驱动程序发出此 OID 集请求。 支持单根 I/O 虚拟化 (SR-IOV) 接口的 PF 微型端口驱动程序需要此 OID 集请求。

NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向NDIS_NIC_SWITCH_FREE_VF_PARAMETERS结构的指针。

Overlying 驱动程序指定要通过此结构的 VFId 成员释放的 VF 的标识符。 驱动程序从 OID_NIC_SWITCH_ALLOCATE_VF 的早期 OID 方法请求中获取了此标识符。

注解

过度分配的驱动程序发出OID_NIC_SWITCH_FREE_VF的 OID 集请求,以释放 VF 的资源。 这些资源以前是通过 OID_NIC_SWITCH_ALLOCATE_VF 的 OID 方法请求分配的。

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

注意 一旦过分的驱动程序请求为 VF 分配资源,该驱动程序就是唯一可以请求释放同一 VF 的资源的组件。 过度分配的驱动程序必须发出OID_NIC_SWITCH_FREE_VF的 OID 集请求来释放 VF 资源。 在可以停止过度分配的驱动程序之前,它必须释放由驱动程序 OID_NIC_SWITCH_ALLOCATE_VF 请求分配的每个 VF 的资源。

返回状态代码

微型端口驱动程序的 MiniportOidRequest 函数为此请求返回以下值之一:

术语 说明

NDIS_STATUS_SUCCESS

微型端口驱动程序成功完成了请求。

NDIS_STATUS_PENDING

微型端口驱动程序将以异步方式完成请求。 微型端口驱动程序完成所有处理后,它必须通过调用 NdisMOidRequestComplete 函数、传递 Status 参数NDIS_STATUS_SUCCESS来使请求成功。

NDIS_STATUS_NOT_ACCEPTED

微型端口驱动程序正在重置。

NDIS_STATUS_REQUEST_ABORTED

微型端口驱动程序已停止处理请求。 例如,NDIS 调用 MiniportResetEx 函数。

NDIS 为此请求返回以下状态代码之一:

术语 说明

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

NDIS_STATUS_NOT_SUPPORTED

PF 微型端口驱动程序不支持 SR-IOV 接口,或者未启用该接口。

NDIS_STATUS_FILE_NOT_FOUND

NDIS_NIC_SWITCH_FREE_VF_PARAMETERS 结构的一个或多个成员具有无效值。 例如, VFId 成员可以指定尚未分配或具有尚未删除的 VPort 的 VF。

NDIS_STATUS_INVALID_LENGTH

信息缓冲区太小。 NDIS 设置数据。SET_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

要求

版本

在 NDIS 6.30 及更高版本中受支持。

标头

Ntddndis.h (包括 Ndis.h)

另请参阅


NDIS_NIC_SWITCH_FREE_VF_PARAMETERS

NDIS_OID_REQUEST

NdisCloseAdapterEx

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_DELETE_VPORT

OID_NIC_SWITCH_DELETE_SWITCH