ZwUnmapViewOfSection 함수(wdm.h)
ZwUnmapViewOfSection 루틴은 주체 프로세스의 가상 주소 공간에서 섹션 보기를 매핑 해제합니다.
구문
NTSYSAPI NTSTATUS ZwUnmapViewOfSection(
[in] HANDLE ProcessHandle,
[in, optional] PVOID BaseAddress
);
매개 변수
[in] ProcessHandle
이전에 ZwMapViewOfSection에 전달된 프로세스 개체에 대한 핸들입니다.
[in, optional] BaseAddress
매핑을 해제할 뷰의 기본 가상 주소에 대한 포인터입니다. 이 값은 보기 내의 모든 가상 주소일 수 있습니다.
반환 값
ZwUnmapViewOfSection 은 NTSTATUS 값을 반환합니다. 가능한 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | 루틴이 요청된 작업을 성공적으로 수행했습니다. |
STATUS_ACCESS_DENIED | 호출자에게 프로세스 개체 또는 뷰의 기본 가상 주소에 대한 액세스 권한이 없습니다. |
설명
이 루틴은 BaseAddress 가 보기의 시작을 가리키지 않더라도 지정된 프로세스의 가상 주소 공간에서 BaseAddress 가 포함된 섹션의 전체 뷰를 매핑 해제합니다.
ZwUnmapViewOfSection에서 반환할 때 보기에서 차지하는 가상 주소 지역은 더 이상 예약되지 않으며 다른 보기 또는 개인 페이지를 매핑할 수 있습니다. 뷰가 기본 섹션에 대한 마지막 참조인 경우 섹션의 커밋된 모든 페이지는 커밋 해제되고 섹션은 삭제됩니다.
이 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwUnmapViewOfSection" 대신 "NtUnmapViewOfSection" 이름을 사용해야 합니다.
커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxx 및 ZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |