3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * PURPOSE: User-mode exception support
6 * FILE: lib/ntdll/rtl/exception.c
7 * PROGRAMER: David Welch <welch@cwcom.net>
10 /* INCLUDES *****************************************************************/
12 #include <ddk/ntddk.h>
19 /* FUNCTIONS ***************************************************************/
22 RtlpDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
26 KiUserExceptionDispatcher(PEXCEPTION_RECORD ExceptionRecord,
29 EXCEPTION_RECORD NestedExceptionRecord;
32 DPRINT("KiUserExceptionDispatcher()\n");
34 if (RtlpDispatchException(ExceptionRecord, Context) != ExceptionContinueExecution)
36 Status = NtContinue(Context, FALSE);
40 Status = NtRaiseException(ExceptionRecord, Context, FALSE);
43 NestedExceptionRecord.ExceptionCode = Status;
44 NestedExceptionRecord.ExceptionFlags = EXCEPTION_NONCONTINUABLE;
45 NestedExceptionRecord.ExceptionRecord = ExceptionRecord;
46 NestedExceptionRecord.NumberParameters = Status;
48 RtlRaiseException(&NestedExceptionRecord);
52 RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
54 DbgPrint("RtlRaiseException()");