функция обратного вызова 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