DXGKDDI_GETMMIORANGES回调函数 (dispmprt.h)

获取虚拟设备中单个 MMIO (内存映射输入输出的内存范围) BAR (基址寄存器) 。

语法

DXGKDDI_GETMMIORANGES DxgkddiGetmmioranges;

NTSTATUS DxgkddiGetmmioranges(
  HANDLE Context,
  PDXGKARG_GETMMIORANGES pArgs
)
{...}

参数

Context

设备上下文的句柄。

pArgs

指向 DXGKARG_GETMMIORANGES 结构的指针。

返回值

返回:

  • STATUS_SUCCESS IHV 系统未遇到任何错误。
  • STATUS_INVALID_DEVICE_REQUEST虚拟设备遇到错误,应强行停止。 此处的故障将导致虚拟设备故障。
  • BUFFER_TO_SMALL可能会导致使用较大的缓冲区再次调用。

注解

此回调函数获取必须放置拦截和映射的特定范围。 这是一种比常规 SR-IOV (单根输入/输出虚拟化) 解决方案更灵活的 BAR 散点/收集映射,该解决方案允许 VF (虚拟函数) BAR (基址寄存器) 的大小与物理条形图不同,并将任何物理条到任何虚拟条的任意页面顺序映射/模拟。 此函数必须包含虚拟栏中每个页面的映射。 否则,将无法创建设备。

要求

要求
最低受支持的客户端 Windows 10 版本 1809
标头 dispmprt.h
IRQL PASSIVE_LEVEL