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 で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |