ULONG_PTR StackLow, StackHigh;
ULONG_PTR RegistrationFrameEnd;
- /* Perform vectored exception handling (a dummy in kernel mode) */
+ /* Perform vectored exception handling for user mode */
if (RtlCallVectoredExceptionHandlers(ExceptionRecord, Context))
{
- /* Exception handled, continue execution */
+ /* Exception handled, now call vectored continue handlers */
+ RtlCallVectoredContinueHandlers(ExceptionRecord, Context);
+
+ /* Continue execution */
return TRUE;
}
/* Handle the dispositions */
switch (Disposition)
{
- /* Continue searching */
+ /* Continue execution */
case ExceptionContinueExecution:
/* Check if it was non-continuable */
}
else
{
- /* Return to caller */
+ /* In user mode, call any registered vectored continue handlers */
+ RtlCallVectoredContinueHandlers(ExceptionRecord,
+ Context);
+
+ /* Execution continues */
return TRUE;
}