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 |