1996-03-14 19:08:34 +01:00
|
|
|
/*
|
|
|
|
* except.h
|
|
|
|
* Copyright (c) 1996, Onno Hovers (onno@stack.urc.tue.nl)
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_EXCEPT_H
|
|
|
|
#define __WINE_EXCEPT_H
|
|
|
|
|
1997-01-01 18:29:55 +01:00
|
|
|
#include "winnt.h"
|
1996-03-14 19:08:34 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* the function pointer to a exception handler
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* forward definition */
|
|
|
|
struct __EXCEPTION_FRAME;
|
|
|
|
|
|
|
|
typedef DWORD ( *PEXCEPTION_HANDLER)( PEXCEPTION_RECORD pexcrec,
|
|
|
|
struct __EXCEPTION_FRAME *pestframe,
|
|
|
|
PCONTEXT pcontext,
|
Release 960611
Tue Jun 11 15:20:43 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/break.c] [loader/signal.c]
Fixed breakpoints in 32-bit code.
* [include/windows.h]
Added many more Win32 versions of standard structures.
* [include/winreg.h] [misc/registry.c]
Moved private types into registry.c.
* [memory/string.c] (New file)
Moved most string functions from misc/lstr.c; added Win32 version
of all functions.
* [misc/wsprintf.c]
Implemented Win32 wsprintf functions.
* [objects/bitmap.c]
Implemented Win32 bitmap functions.
* [windows/dialog.c]
Don't set dialog procedure before the controls are created. This
avoids a crash in Winhelp.
Tue Jun 11 14:10:06 1996 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [controls/menu.c] [if1632/user.spec] [windows/message.c]
Replace PeekMessage with PeekMessage16.
* [if1632/kernel32.spec][misc/main.c]
GetVersion32,GetVersionEx32A,GetVersionEx32W: new functions.
MAIN_ParseVersion: new function, new command line option -winver.
GetVersion: modified to take command line argument into account.
* [if1632/kernel32.spec] [win32/process.c]
FreeLibrary32: new function.
TlsAlloc: initialize Tls to zero.
InterlockedIncrement,InterlockedDecrement,InterlockedExchange: new
functions.
* [if1632/kernel32.spec]
SetErrorMode,GetActiveWindow: new relays to existing functions.
* [if1632/kernel32.spec][win32/user32.c]
PeekMessage32A,PeekMessage32W: new functions.
* [include/struct32.h][include/windows.h]
Moved MSG32 to windows.h.
Renamed MSG to MSG16.
Modified prototypes to use MSG16
* [include/winbase.h]
OSVERSIONINFO32A,OSVERSIONINFO32W: new structures.
Sun Jun 9 20:53:30 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [if1632/Makefile.in] [loader/builtin.c]
version.dll,lz32.dll added.
* [include/lzexpand.h] [if1632/lz32.spec] [if1632/lzexpand.spec]
[misc/lzexpand.c]
lz32.dll added.
Modified to new function naming standard.
* [include/ver.h] [if1632/ver.spec] [if1632/version.spec] [misc/ver.c]
version.dll added (win32 version of ver.dll).
Modified to new function naming standard.
Use registry to look up a LOCALE langids too.
(VerInstallFile,VerFindFile still stubs)
Fri Jun 7 20:40:20 1996 Albrecht Kleine <kleine@ak.sax.de>
* [files/file.c]
Added a warning if GetTempFileName() gets a bad drive parameter.
* [misc/commdlg.c]
Changed file listbox color to gray in SaveFile dialog
(just like Windows does this).
1996-06-11 18:02:08 +02:00
|
|
|
LPVOID pdispatcher);
|
1996-03-14 19:08:34 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* The exception frame, used for registering exception handlers
|
|
|
|
* Win32 cares only about this, but compilers generally emit
|
|
|
|
* larger exception frames for their own use.
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef struct __EXCEPTION_FRAME
|
|
|
|
{
|
|
|
|
struct __EXCEPTION_FRAME *Prev;
|
|
|
|
PEXCEPTION_HANDLER Handler;
|
1997-02-02 20:01:52 +01:00
|
|
|
} EXCEPTION_FRAME, *PEXCEPTION_FRAME;
|
1996-03-14 19:08:34 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Function definitions
|
|
|
|
*/
|
|
|
|
|
1997-02-02 20:01:52 +01:00
|
|
|
void RaiseException(DWORD exccode, DWORD excflags,
|
|
|
|
DWORD nargs, const LPDWORD pargs,
|
|
|
|
PCONTEXT pcontext /* Wine additional parameter */ );
|
1996-03-14 19:08:34 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* this undocumented function is called when an exception
|
|
|
|
* handler wants all the frames to be unwound. RtlUnwind
|
|
|
|
* calls all exception handlers with the EH_UNWIND or
|
|
|
|
* EH_EXIT_UNWIND flags set in the exception record
|
|
|
|
*
|
|
|
|
* This prototype assumes RtlUnwind takes the same
|
|
|
|
* parameters as OS/2 2.0 DosUnwindException
|
|
|
|
* Disassembling RtlUnwind shows this is true, except for
|
|
|
|
* the TargetEIP parameter, which is unused. There is
|
|
|
|
* a fourth parameter, that is used as the eax in the
|
|
|
|
* context.
|
|
|
|
*/
|
|
|
|
|
1997-02-02 20:01:52 +01:00
|
|
|
void RtlUnwind( PEXCEPTION_FRAME pestframe,
|
1996-05-06 18:06:24 +02:00
|
|
|
LPVOID unusedEIP,
|
|
|
|
PEXCEPTION_RECORD pexcrec,
|
1997-02-02 20:01:52 +01:00
|
|
|
DWORD contextEAX,
|
|
|
|
PCONTEXT pcontext /* Wine additional parameter */ );
|
1996-03-14 19:08:34 +01:00
|
|
|
|
|
|
|
#endif /* __WINE_EXCEPT_H */
|