OID_SRIOV_BAR_RESOURCES

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

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

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

注解

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

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

当 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

信息缓冲区小于 ( (NDIS_SRIOV_BAR_RESOURCES_INFO) + size 为 (CM_PARTIAL_RESOURCE_DESCRIPTOR) 。 PF 微型端口驱动程序必须设置 DATA。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