Функция 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 |