次の方法で共有


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 する