ReactOS
0.4.16-dev-1163-gec5b142
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
c
d
e
f
g
h
i
l
m
n
o
p
s
t
u
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
_
a
b
c
d
f
i
l
m
o
p
s
t
w
x
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
x
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
except.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Run-Time Library
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* PURPOSE: User-mode exception support for AMD64
5
* COPYRIGHT: Copyright 2018-2021 Timo Kreuzer <timo.kreuzer@reactos.org>
6
*/
7
8
/* INCLUDES *****************************************************************/
9
10
#include <rtl.h>
11
#define NDEBUG
12
#include <debug.h>
13
14
/* PUBLIC FUNCTIONS **********************************************************/
15
16
/*
17
* @unimplemented
18
*/
19
PVOID
20
NTAPI
21
RtlpGetExceptionAddress
(
VOID
)
22
{
23
UNIMPLEMENTED
;
24
return
NULL
;
25
}
26
27
BOOLEAN
28
NTAPI
29
RtlpUnwindInternal
(
30
_In_opt_
PVOID
TargetFrame,
31
_In_opt_
PVOID
TargetIp,
32
_In_
PEXCEPTION_RECORD
ExceptionRecord,
33
_In_
PVOID
ReturnValue
,
34
_In_
PCONTEXT
ContextRecord
,
35
_In_opt_
struct
_UNWIND_HISTORY_TABLE
*HistoryTable,
36
_In_
ULONG
Flags
);
37
38
/*
39
* @unimplemented
40
*/
41
BOOLEAN
42
NTAPI
43
RtlDispatchException
(
44
_In_
PEXCEPTION_RECORD
ExceptionRecord,
45
_In_
PCONTEXT
ContextRecord
)
46
{
47
BOOLEAN
Handled
;
48
49
/* Perform vectored exception handling for user mode */
50
if
(
RtlCallVectoredExceptionHandlers
(ExceptionRecord,
ContextRecord
))
51
{
52
/* Exception handled, now call vectored continue handlers */
53
RtlCallVectoredContinueHandlers
(ExceptionRecord,
ContextRecord
);
54
55
/* Continue execution */
56
return
TRUE
;
57
}
58
59
/* Call the internal unwind routine */
60
Handled
=
RtlpUnwindInternal
(
NULL
,
// TargetFrame
61
NULL
,
// TargetIp
62
ExceptionRecord,
63
0,
// ReturnValue
64
ContextRecord
,
65
NULL
,
// HistoryTable
66
UNW_FLAG_EHANDLER);
67
68
/* In user mode, call any registered vectored continue handlers */
69
RtlCallVectoredContinueHandlers
(ExceptionRecord,
ContextRecord
);
70
71
return
Handled
;
72
}
BOOLEAN
unsigned char BOOLEAN
Definition:
ProcessorBind.h:185
ReturnValue
UINT32 void void ** ReturnValue
Definition:
acevents.h:216
UNIMPLEMENTED
#define UNIMPLEMENTED
Definition:
ntoskrnl.c:15
NULL
#define NULL
Definition:
types.h:112
TRUE
#define TRUE
Definition:
types.h:120
void
Definition:
nsiface.idl:2307
RtlDispatchException
NTSYSAPI BOOLEAN NTAPI RtlDispatchException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context)
Definition:
except.c:43
_In_
#define _In_
Definition:
no_sal2.h:158
_In_opt_
#define _In_opt_
Definition:
no_sal2.h:212
ContextRecord
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
Definition:
ntbasedef.h:666
RtlCallVectoredContinueHandlers
VOID NTAPI RtlCallVectoredContinueHandlers(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context)
Definition:
libsupp.c:822
RtlCallVectoredExceptionHandlers
BOOLEAN NTAPI RtlCallVectoredExceptionHandlers(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context)
Definition:
libsupp.c:813
RtlpGetExceptionAddress
PVOID NTAPI RtlpGetExceptionAddress(VOID)
Definition:
except.c:21
RtlpUnwindInternal
BOOLEAN NTAPI RtlpUnwindInternal(_In_opt_ PVOID TargetFrame, _In_opt_ PVOID TargetIp, _In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PVOID ReturnValue, _In_ PCONTEXT ContextRecord, _In_opt_ struct _UNWIND_HISTORY_TABLE *HistoryTable, _In_ ULONG Flags)
Definition:
unwind.c:677
_CONTEXT
Definition:
nt_native.h:1406
_EXCEPTION_RECORD
Definition:
compat.h:207
_UNWIND_HISTORY_TABLE
Definition:
rtlsupportapi.h:45
NTAPI
#define NTAPI
Definition:
typedefs.h:36
ULONG
uint32_t ULONG
Definition:
typedefs.h:59
Flags
_Must_inspect_result_ _In_ ULONG Flags
Definition:
wsk.h:170
Handled
_In_ BOOLEAN Handled
Definition:
ketypes.h:349
sdk
lib
rtl
amd64
except.c
Generated on Wed May 21 2025 06:14:20 for ReactOS by
1.9.6