errhandlingapi.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. #ifndef _ERRHANDLING_H_
  6. #define _ERRHANDLING_H_
  7. #include <apiset.h>
  8. #include <apisetcconv.h>
  9. #include <minwindef.h>
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
  14. typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER) (struct _EXCEPTION_POINTERS *ExceptionInfo);
  15. typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
  16. WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter (LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
  17. #endif /* WINAPI_PARTITION_APP */
  18. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT)
  19. WINBASEAPI LONG WINAPI UnhandledExceptionFilter (struct _EXCEPTION_POINTERS *ExceptionInfo);
  20. #endif
  21. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
  22. WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler (ULONG First, PVECTORED_EXCEPTION_HANDLER Handler);
  23. WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler (PVOID Handle);
  24. WINBASEAPI PVOID WINAPI AddVectoredContinueHandler (ULONG First, PVECTORED_EXCEPTION_HANDLER Handler);
  25. WINBASEAPI ULONG WINAPI RemoveVectoredContinueHandler (PVOID Handle);
  26. #if _WIN32_WINNT >= 0x0600
  27. WINBASEAPI UINT WINAPI GetErrorMode (VOID);
  28. #endif
  29. #if !defined (RC_INVOKED) && defined (WINBASE_DECLARE_RESTORE_LAST_ERROR)
  30. WINBASEAPI VOID WINAPI RestoreLastError (DWORD dwErrCode);
  31. typedef VOID (WINAPI *PRESTORE_LAST_ERROR) (DWORD);
  32. #define RESTORE_LAST_ERROR_NAME_A "RestoreLastError"
  33. #define RESTORE_LAST_ERROR_NAME_W L"RestoreLastError"
  34. #define RESTORE_LAST_ERROR_NAME TEXT ("RestoreLastError")
  35. #endif
  36. #endif
  37. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
  38. WINBASEAPI VOID WINAPI RaiseException (DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, CONST ULONG_PTR *lpArguments);
  39. WINBASEAPI UINT WINAPI SetErrorMode (UINT uMode);
  40. WINBASEAPI DWORD WINAPI GetLastError (VOID);
  41. WINBASEAPI VOID WINAPI SetLastError (DWORD dwErrCode);
  42. #endif
  43. #ifdef __cplusplus
  44. }
  45. #endif
  46. #endif