Функция 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 |
целевая платформа | Виндоус |
заголовка | wdm.h |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe (режим ядра) |
IRQL | <=DISPATCH_LEVEL |