Функция MmMapMdl (wdm.h)

Эта функция сопоставляет физические страницы, описываемые списком дескрипторов памяти (MDL), с системным виртуальным адресным пространством.

Синтаксис

NTSTATUS MmMapMdl(
  [in] PMDL            MemoryDescriptorList,
  [in] ULONG           Protection,
  [in] PMM_MDL_ROUTINE DriverRoutine,
  [in] PVOID           DriverContext
);

Параметры

[in] MemoryDescriptorList

Указатель на допустимый MDL.

[in] Protection

Побитовая пометка флагов, указывающая на защиту, устанавливаемую для страниц. Возможные значения — PAGE_Xxx константы, определенные в Wdm.h.

[in] DriverRoutine

Указатель на предоставленную драйвером процедуру обратного вызова (MM_MDL_ROUTINE), которая вызывается после сопоставления MDL.

[in] DriverContext

Указатель на контекст, определяемый драйвером. Функция обратного вызова драйвера может хранить любые сведения о состоянии в контексте драйвера, а затем проверять значение при вызове обратного вызова.

Возвращаемое значение

Если была вызвана функция обратного вызова, на которую указывает DriverRoutine , эта функция возвращает STATUS_SUCCESS. Функция возвращает соответствующее значение NTSTATUS, если не удалось сопоставить MDL или не удалось вызвать функцию обратного вызова.

Комментарии

MmMapMdl сопоставляет MDL (если он еще не сопоставлен), вызывает обратный вызов, а затем освобождает сопоставление (если оно было создано). Вызывающей объекту не нужно выполнять очистку.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1709
Минимальная версия сервера Windows Server 2016
Целевая платформа Windows
Header wdm.h
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe (режим ядра)
IRQL <=DISPATCH_LEVEL

См. также раздел

MM_MDL_ROUTINE