Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.8 KiB

  1. /***
  2. *ehhook.h - declaration of exception handling hook variables
  3. *
  4. * Copyright (c) 1993-2001, Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. * Declaration of E.H. hook variables
  8. *
  9. * [Internal]
  10. *
  11. *Revision History:
  12. * 05-26-93 BS Module created.
  13. * 09-02-94 SKS This header file added.
  14. * 12-15-94 XY merged with mac header
  15. * 02-14-95 CFW Clean up Mac merge.
  16. * 03-29-95 CFW Add error message to internal headers.
  17. * 12-14-95 JWM Add "#pragma once".
  18. * 02-24-97 GJF Detab-ed.
  19. * 05-17-99 PML Remove all Macintosh support.
  20. *
  21. ****/
  22. #if _MSC_VER > 1000 /*IFSTRIP=IGN*/
  23. #pragma once
  24. #endif
  25. #ifndef _INC_EHHOOKS
  26. #define _INC_EHHOOKS
  27. #ifndef _CRTBLD
  28. /*
  29. * This is an internal C runtime header file. It is used when building
  30. * the C runtimes only. It is not to be used as a public header file.
  31. */
  32. #error ERROR: Use of C runtime library internal header file.
  33. #endif /* _CRTBLD */
  34. /* Private Revectoring control for _inconsistency() faults */
  35. typedef void (__cdecl *_inconsistency_function)();
  36. void __cdecl _inconsistency(void);
  37. _inconsistency_function __cdecl __set_inconsistency(_inconsistency_function);
  38. /* Thread specific pointers to handler functions */
  39. #ifdef _MT
  40. #define __pTerminate (*((terminate_function*) &(_getptd()->_terminate)))
  41. #define __pUnexpected (*((unexpected_function*) &(_getptd()->_unexpected)))
  42. #define __pSETranslator (*((_se_translator_function*) &(_getptd()->_translator)))
  43. #else
  44. extern terminate_function __pTerminate;
  45. extern unexpected_function __pUnexpected;
  46. extern _se_translator_function __pSETranslator;
  47. #endif
  48. extern _inconsistency_function __pInconsistency;
  49. //
  50. // This filter needs to be dragged in for any exe which has any eh.
  51. //
  52. LONG WINAPI __CxxUnhandledExceptionFilter( LPEXCEPTION_POINTERS );
  53. #endif /* _INC_EHHOOKS */