OID_SRIOV_BAR_RESOURCES

NDIS 发出OID_SRIOV_BAR_RESOURCES的对象标识符(OID)方法请求,以确定分配给 PCIe 虚拟函数(VF)PCI Express(PCIe)基址寄存器(BAR)的内存资源。

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

InformationBufferNDIS_OID_REQUEST 结构的成员包含指向缓冲区的指针。 此缓冲区包含以下结构:

言论

NDIS 发出 OID_SRIOV_BAR_RESOURCES的 OID 方法请求,以获取分配给 VF BAR 的系统物理地址和内存资源的长度。 在发出 OID 方法请求之前,NDIS 采用以下方式设置 NDIS_SRIOV_BAR_RESOURCES_INFO 结构的格式:

注意, 过度应用驱动程序(如协议或筛选器驱动程序)无法向 PF 微型端口驱动程序发出 OID 方法请求OID_SRIOV_BAR_RESOURCES。

当 PF 微型端口驱动程序收到 OID 方法请求时,驱动程序通过在 NDIS_OID_REQUEST 结构 InformationBuffer 成员中设置 CM_PARTIAL_RESOURCE_DESCRIPTOR 结构的格式来返回指定 BAR 的资源。 驱动程序使用与指定的 VF 的 BAR 关联的系统硬件资源设置 CM_PARTIAL_RESOURCE_DESCRIPTOR 结构的格式。

注释 驱动程序必须为 CmResourceTypeMemory的资源类型设置结构的格式。

返回状态代码

PF 微型端口驱动程序为OID_SRIOV_BAR_RESOURCES的方法请求返回以下状态代码之一。

状态代码 描述

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

NDIS_STATUS_NOT_SUPPORTED

PF 微型端口驱动程序要么不支持单个根 I/O 虚拟化(SR-IOV)接口,要么未启用该接口。

NDIS_STATUS_INVALID_PARAMETER

NDIS_SRIOV_BAR_RESOURCES_INFO 结构的一个或多个成员具有无效值。

NDIS_STATUS_INVALID_LENGTH

信息缓冲区小于 (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR)。 PF 微型端口驱动程序必须设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

NDIS_STATUS_FAILURE

由于其他原因,请求失败。

要求

版本

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

页眉

Ntddndis.h (包括 Ndis.h)

另请参阅


CM_PARTIAL_RESOURCE_DESCRIPTOR

NDIS_OID_REQUEST

NDIS_SRIOV_BAR_RESOURCES_INFO