共用方式為


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 程式代碼。 可能的傳回值包括:

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

另請參閱

mmMapLockedPagesSpecifyCache