[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions

This commit is contained in:
Mark Jansen 2018-09-05 23:20:46 +02:00
parent 1968776bf2
commit ef202724d8
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B

View 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); \
}