1,488
社区成员
发帖
与我相关
我的任务
分享NTSTATUS
NtUnmapViewOfSection(
__in HANDLE ProcessHandle,
__in PVOID BaseAddress
)
{
PEPROCESS Process;
KPROCESSOR_MODE PreviousMode;
NTSTATUS Status;
PAGED_CODE ();
PreviousMode = KeGetPreviousMode ();
if ((PreviousMode == UserMode) && (BaseAddress > MM_HIGHEST_USER_ADDRESS)) {
return STATUS_NOT_MAPPED_VIEW;
}
Status = ObReferenceObjectByHandle (ProcessHandle,
PROCESS_VM_OPERATION,
PsProcessType,
PreviousMode,
(PVOID *)&Process,
NULL);
if (!NT_SUCCESS (Status)) {
return Status;
}
Status = MiUnmapViewOfSection(Process, BaseAddress, 0);
ObDereferenceObject (Process);
return Status;
}