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 上使用。 |
注解
只能在已映射的 MDL 上调用 MmProtectMdlSystemAddress 例程。 例如,可以在 由 MmMapLockedPagesSpecifyCache 映射的 MDL 上调用例程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈