过度的驱动程序发出OID_SRIOV_HARDWARE_CAPABILITIES的对象标识符(OID)查询请求,以获取网络适配器的单根 I/O 虚拟化(SR-IOV)硬件功能。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_SRIOV_CAPABILITIES 结构的指针。
言论
NDIS_SRIOV_CAPABILITIES 结构包含有关网络适配器的硬件功能的信息,例如适配器是否支持 SR-IOV,以及微型端口驱动程序是否管理适配器的 PCI Express(PCIe)物理功能(PF)或虚拟函数(VF)。 这些功能可以包括 INF 文件设置当前禁用的硬件功能,也可以通过 高级 属性页禁用。
注意 网络适配器的所有 SR-IOV 功能都通过 OID_SRIOV_HARDWARE_CAPABILITIES 的 OID 查询请求返回,而不管功能是启用还是禁用。
从 NDIS 6.30 开始,微型端口驱动程序在调用其 MiniportInitializeEx 函数时提供 SR-IOV 硬件功能。 驱动程序使用 SR-IOV 硬件功能初始化 NDIS_SRIOV_CAPABILITIES 结构,并将 HardwareSriovCapabilitiesNDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 结构的成员设置为指向 NDIS_SRIOV_CAPABILITIES 结构的指针。 然后,微型端口驱动程序调用 NdisMSetMiniportAttributes 函数,并将 MiniportAttributes 参数设置为指向 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 结构的指针。
返回状态代码
NDIS 处理微型端口驱动程序OID_SRIOV_HARDWARE_CAPABILITIES请求的 OID 查询请求。 驱动程序将不会发出此 OID 请求。
当 NDIS 处理OID_SRIOV_HARDWARE_CAPABILITIES请求时,它将返回以下状态代码之一。
| 状态代码 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
NDIS_STATUS_NOT_SUPPORTED |
微型端口驱动程序要么不支持单个根 I/O 虚拟化(SR-IOV)接口,要么未启用该接口。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区太短。 微型端口驱动程序必须设置 数据。QUERY_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |