https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ef202724d8f20b98c0da0…
commit ef202724d8f20b98c0da0734c6e5a56875a424c5
Author: Mark Jansen <mark.jansen(a)reactos.org>
AuthorDate: Wed Sep 5 23:20:46 2018 +0200
Commit: Mark Jansen <mark.jansen(a)reactos.org>
CommitDate: Fri Oct 12 19:30:36 2018 +0200
[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions
---
sdk/include/reactos/stubs.h | 35 ++++++++++++++++++++++-------------
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/sdk/include/reactos/stubs.h b/sdk/include/reactos/stubs.h
index 3be4027260..d8c59c9fa5 100644
--- a/sdk/include/reactos/stubs.h
+++ b/sdk/include/reactos/stubs.h
@@ -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); \
}