获取虚拟设备中单个 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(单根输入/输出虚拟化)解决方案更灵活的散点/收集映射,它允许 VF(虚拟函数)BAR(基址寄存器)的大小与物理条不同,并映射/模拟从任何物理条到任何虚拟条的任何页面顺序。 此函数必须包含虚拟栏中每个页面的映射。 如果未创建设备,则无法创建该设备。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1809 |
标头 | dispmprt.h |
IRQL | PASSIVE_LEVEL |