[WINE]
[reactos.git] / reactos / include / reactos / wine / exception.h
index c2f23fb..5a5e7f7 100644 (file)
@@ -25,10 +25,16 @@ extern "C" {
 #define EXCEPTION_VM86_PICRETURN  0x80000112
 
 #ifndef _RTLTYPES_H
-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
-               (struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
-
 struct _EXCEPTION_REGISTRATION_RECORD;
+
+typedef
+DWORD
+(*PEXCEPTION_HANDLER)(
+    struct _EXCEPTION_RECORD*,
+    struct _EXCEPTION_REGISTRATION_RECORD *,
+    struct _CONTEXT*,
+    struct _EXCEPTION_REGISTRATION_RECORD**);
+
 typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
 
 struct _EXCEPTION_REGISTRATION_RECORD
@@ -74,6 +80,11 @@ typedef struct _WINE_EXCEPTION_REGISTRATION_RECORD
 #define siglongjmp(buf,val) longjmp(buf,val)
 #endif
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable:4733)
+#endif
+
 static inline EXCEPTION_REGISTRATION_RECORD *__wine_push_frame( EXCEPTION_REGISTRATION_RECORD *frame )
 {
 #ifdef __i386__
@@ -101,6 +112,10 @@ static inline EXCEPTION_REGISTRATION_RECORD *__wine_pop_frame( EXCEPTION_REGISTR
 #endif
 }
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 extern void __wine_enter_vm86( CONTEXT *context );
 
 #ifdef __cplusplus