VPCI_WRITE_BLOCK回调函数 (VPCI_WRITE_BLOCK.h)
WriteVfConfigBlock 例程为 PCI Express 虚拟函数(VF)写入配置数据块。 此例程由支持单根 I/O 虚拟化(SR-IOV)接口的设备上的 PCIe VF 驱动程序调用。
语法
VPCI_WRITE_BLOCK VpciWriteBlock;
NTSTATUS VpciWriteBlock(
PVOID Context,
ULONG BlockId,
PVOID Buffer,
ULONG Length
)
{...}
参数
Context
[in]指向特定于接口的上下文信息的指针。 调用方传递作为接口 VPCI_INTERFACE_STANDARD 结构的 上下文 成员传递的值。
BlockId
[in]要写入的 VF 配置块的标识符。 此标识符是独立硬件供应商(IHV)专有的,仅供设备上的 PCIe 物理功能(PF)和 VF 的驱动程序使用。
Buffer
[in]指向调用方分配的缓冲区的指针,其中包含要写入的配置数据。 有关详细信息,请参阅“备注”。
Length
[in]要写入 VF 配置块的字节数。
注意
此参数的值不能超过 VPCI_MAX_READ_WRITE_BLOCK_SIZE。
返回值
如果作成功,ReadVfConfigBlock 例程将返回 STATUS_SUCCESS。 否则,例程将返回适当的 NTSTATUS 值。
言论
调用 WriteVfConfigBlock 例程时,会通知 PF 的驱动程序使用指定的数据更新指定的 VF 配置块。
VF 配置块用于 PCIe PF 的驱动程序与支持 SR-IOV 接口的设备上的 VF 之间的反向通道通信。 IHV 可以为设备定义一个或多个 VF 配置块。 每个 VF 配置块都有一个 IHV 定义的格式、长度和块 ID。
可以通过受保护的方式在以下驱动程序之间交换 VF 配置数据:
- 在来宾作系统中运行的 VF 驱动程序。 此作系统在 Hyper-V 子分区中运行。
- 在管理作系统中运行的 PF 驱动程序。 此作系统在 Hyper-V 父分区中运行。
每个 VF 配置块中的数据仅由 PF 和 VF 的驱动程序使用。
注意
IOCTL_VPCI_WRITE_BLOCK IOCTL 提供 WriteVfConfigBlock 例程的异步替代方法。
要求
要求 | 价值 |
---|---|
支持的最低服务器 | Windows Server 2012 |
标头 | vpi.h |
IRQL | <= DISPATCH_LEVEL |