SRIOV_QUERY_PROBED_BARS_2回调函数 (pcivirt.h)
查询从指定的 PCI Express SR-IOV 虚拟函数读取的数据 (VF) 基址寄存器 (BA) 如果先写入值 -1。
语法
SRIOV_QUERY_PROBED_BARS_2 SriovQueryProbedBars2;
NTSTATUS SriovQueryProbedBars2(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PULONG BaseRegisterValues
)
{...}
参数
[in] Context
指向驱动程序定义的上下文的指针。
[in] VfIndex
正在查询的 VF 的从零开始的索引。
[out] BaseRegisterValues
指向由 PCI 设备中的 BA 数限制的变量数组的指针。
返回值
如果操作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。
注解
此回调函数由 PF) 驱动程序 (物理函数实现。 当系统想要从指定虚拟函数的 (VF) 基址寄存器进行读取时,会调用它。
PF 驱动程序通过设置SRIOV_DEVICE_INTERFACE_STANDARD_2的 QueryProbedBars_2成员、配置WDF_QUERY_INTERFACE_CONFIG结构并调用 WdfDeviceAddQueryInterface 来注册其实现。
当虚拟化堆栈 (非特权) 在用值 (-1) 写入寄存器后,它会查找 VF 的基址寄存器值时,会调用此回调。 设置 PCI 设备时,此过程是常规的,结果使 PCI 驱动程序知道设备在启用后将解码的地址空间量。 当非特权 VM 写入 VF 的 BA 时,特权 VM 可能会停止运行。 因此,此例程需要写入 BA。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | pcivirt.h |
IRQL | PASSIVE_LEVEL |