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 只能用于已映射的 MDL。 |
言论
MmProtectMdlSystemAddress 例程只能在已映射的 MDL 上调用。 例如,可以在 MmMapLockedPagesSpecifyCache映射的 MDL 上调用例程。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |