функция обратного вызова 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 может привести к повторному вызову с большим буфером.
Комментарии
Эта функция обратного вызова получает определенные диапазоны, в которых должны быть размещены перехваты и сопоставления. Это более гибкое точечные и собирательные сопоставления BAR, чем общее решение SR-IOV (виртуализация входных и выходных данных с одним корнем), которое позволяет VF (виртуальные функции) BAR (базовые регистры адресов) иметь другой размер, чем физические гистограммы, и сопоставлять/эмулировать любой порядок страниц от любого физического бара к любой виртуальной панели. Эта функция ДОЛЖНА содержать сопоставление для каждой страницы на виртуальной панели. Если это не так, устройство не будет создано.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10, версия 1809 |
Верхняя часть | dispmprt.h |
IRQL | PASSIVE_LEVEL |