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