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 |