source: trunk/include/win/except.h@ 4

Last change on this file since 4 was 4, checked in by ktk, 26 years ago

Import

File size: 1.7 KB
Line 
1/* $Id: except.h,v 1.1 1999-05-24 20:19:12 ktk Exp $ */
2
3/*
4 * except.h
5 * Copyright (c) 1996, Onno Hovers (onno@stack.urc.tue.nl)
6 */
7
8#ifndef __WINE_EXCEPT_H
9#define __WINE_EXCEPT_H
10
11#include "winnt.h"
12
13/*
14 * the function pointer to a exception handler
15 */
16
17/* forward definition */
18struct __EXCEPTION_FRAME;
19
20typedef DWORD (CALLBACK *PEXCEPTION_HANDLER)( PEXCEPTION_RECORD pexcrec,
21 struct __EXCEPTION_FRAME *pestframe,
22 PCONTEXT pcontext,
23 LPVOID pdispatcher);
24
25/*
26 * The exception frame, used for registering exception handlers
27 * Win32 cares only about this, but compilers generally emit
28 * larger exception frames for their own use.
29 */
30
31typedef struct __EXCEPTION_FRAME
32{
33 struct __EXCEPTION_FRAME *Prev;
34 PEXCEPTION_HANDLER Handler;
35} EXCEPTION_FRAME, *PEXCEPTION_FRAME;
36
37
38/*
39 * this undocumented function is called when an exception
40 * handler wants all the frames to be unwound. RtlUnwind
41 * calls all exception handlers with the EH_UNWIND or
42 * EH_EXIT_UNWIND flags set in the exception record
43 *
44 * This prototype assumes RtlUnwind takes the same
45 * parameters as OS/2 2.0 DosUnwindException
46 * Disassembling RtlUnwind shows this is true, except for
47 * the TargetEIP parameter, which is unused. There is
48 * a fourth parameter, that is used as the eax in the
49 * context.
50 */
51void WINAPI RtlUnwind( PEXCEPTION_FRAME pestframe,
52 LPVOID unusedEIP,
53 PEXCEPTION_RECORD pexcrec,
54 DWORD contextEAX );
55
56#endif /* __WINE_EXCEPT_H */
Note: See TracBrowser for help on using the repository browser.