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) |