[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions 896/head
authorMark Jansen <mark.jansen@reactos.org>
Wed, 5 Sep 2018 21:20:46 +0000 (23:20 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Fri, 12 Oct 2018 17:30:36 +0000 (19:30 +0200)
sdk/include/reactos/stubs.h

index 3be4027..d8c59c9 100644 (file)
@@ -1,22 +1,31 @@
 #define WIN32_NO_STATUS
 #include <windef.h>
 
-#define EXCEPTION_WINE_STUB       0x80000100
-#define EH_NONCONTINUABLE   0x01
-
-ULONG __cdecl DbgPrint(_In_z_ _Printf_format_string_ PCSTR Format, ...);
+#define EXCEPTION_WINE_STUB     0x80000100
+#define EH_NONCONTINUABLE       0x01
 
+NTSYSAPI
 VOID
-WINAPI
-RaiseException(_In_ DWORD dwExceptionCode,
-               _In_ DWORD dwExceptionFlags,
-               _In_ DWORD nNumberOfArguments,
-               _In_ CONST ULONG_PTR *lpArguments OPTIONAL);
+NTAPI
+RtlRaiseException(
+    _In_ PEXCEPTION_RECORD ExceptionRecord
+);
+
+ULONG
+__cdecl
+DbgPrint(
+    _In_z_ _Printf_format_string_ PCSTR Format,
+    ...
+);
 
 #define __wine_spec_unimplemented_stub(module, function) \
 { \
-    ULONG_PTR args[2]; \
-    args[0] = (ULONG_PTR)module; \
-    args[1] = (ULONG_PTR)function; \
-    RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args ); \
+    EXCEPTION_RECORD ExceptionRecord = {0}; \
+    ExceptionRecord.ExceptionRecord = NULL; \
+    ExceptionRecord.ExceptionCode = EXCEPTION_WINE_STUB; \
+    ExceptionRecord.ExceptionFlags = EXCEPTION_NONCONTINUABLE; \
+    ExceptionRecord.ExceptionInformation[0] = (ULONG_PTR)module; \
+    ExceptionRecord.ExceptionInformation[1] = (ULONG_PTR)function; \
+    ExceptionRecord.NumberParameters = 2; \
+    RtlRaiseException(&ExceptionRecord); \
 }