Функция MmProtectMdlSystemAddress (wdm.h)
Подпрограмма MmProtectMdlSystemAddress задает тип защиты для диапазона адресов памяти.
Синтаксис
NTSTATUS MmProtectMdlSystemAddress(
[in] PMDL MemoryDescriptorList,
[in] ULONG NewProtect
);
Параметры
[in] MemoryDescriptorList
Указывает диапазон адресов памяти для задания типа защиты.
[in] NewProtect
Задает новый параметр защиты для страниц памяти. Драйверы должны указывать одно из следующих значений:
PAGE_NOACCESS
Базовые страницы памяти не могут быть прочитаны или записаны.
PAGE_READONLY
Базовые страницы памяти можно только читать, а не записывать.
PAGE_READWRITE
Базовые страницы памяти можно читать или записывать.
PAGE_EXECUTE
Базовые страницы памяти можно выполнять, но не читать или записывать.
PAGE_EXECUTE_READ
Базовые страницы памяти можно выполнять или читать, но не записывать.
PAGE_EXECUTE_READWRITE
Базовые страницы памяти можно выполнять, читать или записывать.
Возвращаемое значение
MmProtectMdlSystemAddress возвращает код NTSTATUS. Возможные возвращаемые значения:
Код возврата | Описание |
---|---|
|
Подпрограмма успешно изменила тип защиты для диапазона адресов памяти. |
|
Значение, указанное для NewProtect , не является допустимым для этой подпрограммы. |
|
MDL еще не сопоставлен. MmProtectMdlSystemAddress можно использовать только в уже сопоставленных mdls. |
Комментарии
Подпрограмму MmProtectMdlSystemAddress можно вызывать только для MDL, который уже сопоставлен. Например, подпрограмму можно вызвать для MDL, сопоставленного с помощью MmMapLockedPagesSpecifyCache.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |