共用方式為


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
STATUS_SUCCESS
例程已成功變更記憶體位址範圍的保護類型。
STATUS_INVALID_PAGE_PROTECTION
針對 NewProtect 指定的值不是這個例程的有效值。
STATUS_NOT_MAPPED_VIEW
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

另請參閱

MmMapLockedPagesSpecifyCache