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