3 * Copyright (c) 1996, Onno Hovers (onno@stack.urc.tue.nl)
6 #ifndef __WINE_EXCEPT_H
7 #define __WINE_EXCEPT_H
12 * the function pointer to a exception handler
15 /* forward definition */
16 struct __EXCEPTION_FRAME
;
18 typedef DWORD (CALLBACK
*PEXCEPTION_HANDLER
)( PEXCEPTION_RECORD pexcrec
,
19 struct __EXCEPTION_FRAME
*pestframe
,
24 * The exception frame, used for registering exception handlers
25 * Win32 cares only about this, but compilers generally emit
26 * larger exception frames for their own use.
29 typedef struct __EXCEPTION_FRAME
31 struct __EXCEPTION_FRAME
*Prev
;
32 PEXCEPTION_HANDLER Handler
;
33 } EXCEPTION_FRAME
, *PEXCEPTION_FRAME
;
37 * this undocumented function is called when an exception
38 * handler wants all the frames to be unwound. RtlUnwind
39 * calls all exception handlers with the EH_UNWIND or
40 * EH_EXIT_UNWIND flags set in the exception record
42 * This prototype assumes RtlUnwind takes the same
43 * parameters as OS/2 2.0 DosUnwindException
44 * Disassembling RtlUnwind shows this is true, except for
45 * the TargetEIP parameter, which is unused. There is
46 * a fourth parameter, that is used as the eax in the
49 void WINAPI
RtlUnwind( PEXCEPTION_FRAME pestframe
,
51 PEXCEPTION_RECORD pexcrec
,
54 #endif /* __WINE_EXCEPT_H */