49d1a4c562
also start prefering NtDll API. so far: * NtQueryInformationFile * NtClose adds a performance workaround for windows unicode conversion. but that should probably be removed before merging
24 lines
1.1 KiB
C
24 lines
1.1 KiB
C
#define _CRTIMP
|
|
#include <windows.h>
|
|
|
|
typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
|
|
static _invalid_parameter_handler handler;
|
|
|
|
static _invalid_parameter_handler __cdecl mingw_set_invalid_parameter_handler(_invalid_parameter_handler new_handler)
|
|
{
|
|
return InterlockedExchangePointer((void**)&handler, new_handler);
|
|
}
|
|
|
|
_invalid_parameter_handler (__cdecl *__MINGW_IMP_SYMBOL(_set_invalid_parameter_handler))(_invalid_parameter_handler) =
|
|
mingw_set_invalid_parameter_handler;
|
|
|
|
static _invalid_parameter_handler __cdecl mingw_get_invalid_parameter_handler(void)
|
|
{
|
|
return handler;
|
|
}
|
|
|
|
_invalid_parameter_handler (__cdecl *__MINGW_IMP_SYMBOL(_get_invalid_parameter_handler))(void) = mingw_get_invalid_parameter_handler;
|
|
|
|
_invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void) __attribute__ ((alias ("mingw_get_invalid_parameter_handler")));
|
|
_invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler new_handler) __attribute__ ((alias ("mingw_set_invalid_parameter_handler")));
|