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 程式代碼。 可能的傳回值包括:
傳回碼 | Description |
---|---|
|
例程已成功變更記憶體位址範圍的保護類型。 |
|
針對 NewProtect 指定的值不是這個例程的有效值。 |
|
MDL 尚未對應。 MmProtectMdlSystemAddress 只能在已經對應的 MDL 上使用。 |
備註
MmProtectMdlSystemAddress 例程只能在已經對應的 MDL 上呼叫。 例如,可以在 MmMapLockedPagesSpecifyCache 所對應的 MDL 上呼叫例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows XP 和更新版本的 Windows 中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |