STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
excpt.h
Go to the documentation of this file.
1 //
2 // excpt.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // The declarations of the compiler-dependent intrinsics, support functions, and
7 // keywords which implement the structured exception handling extensions.
8 //
9 #pragma once
10 #define _INC_EXCPT
11 
12 #include <vcruntime.h>
13 
15 
16 
17 
18 // Exception disposition return values
20 {
26 
27 
28 
29 // SEH handler
30 #ifdef _M_IX86
31 
32  struct _EXCEPTION_RECORD;
33  struct _CONTEXT;
34 
35  EXCEPTION_DISPOSITION __cdecl _except_handler(
36  _In_ struct _EXCEPTION_RECORD* _ExceptionRecord,
37  _In_ void* _EstablisherFrame,
38  _Inout_ struct _CONTEXT* _ContextRecord,
39  _Inout_ void* _DispatcherContext
40  );
41 
42 #elif defined _M_X64 || defined _M_ARM || defined _M_ARM64
43  #ifndef _M_CEE_PURE
44 
45  struct _EXCEPTION_RECORD;
46  struct _CONTEXT;
47  struct _DISPATCHER_CONTEXT;
48 
49  _VCRTIMP EXCEPTION_DISPOSITION __C_specific_handler(
50  _In_ struct _EXCEPTION_RECORD* ExceptionRecord,
51  _In_ void* EstablisherFrame,
52  _Inout_ struct _CONTEXT* ContextRecord,
53  _Inout_ struct _DISPATCHER_CONTEXT* DispatcherContext
54  );
55 
56  #endif
57 #endif
58 
59 
60 
61 // SEH intrinsics
62 #define GetExceptionCode _exception_code
63 #define exception_code _exception_code
64 #define GetExceptionInformation (struct _EXCEPTION_POINTERS*)_exception_info
65 #define exception_info (struct _EXCEPTION_POINTERS*)_exception_info
66 #define AbnormalTermination _abnormal_termination
67 #define abnormal_termination _abnormal_termination
68 
69 unsigned long __cdecl _exception_code(void);
70 void * __cdecl _exception_info(void);
71 int __cdecl _abnormal_termination(void);
72 
73 
74 
75 // Defined values for the exception filter expression
76 #define EXCEPTION_EXECUTE_HANDLER 1
77 #define EXCEPTION_CONTINUE_SEARCH 0
78 #define EXCEPTION_CONTINUE_EXECUTION (-1)
79 
80 
81 
int __cdecl _abnormal_termination(void)
#define _VCRTIMP
Definition: vcruntime.h:115
_CRT_BEGIN_C_HEADER enum _EXCEPTION_DISPOSITION EXCEPTION_DISPOSITION
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
Definition: excpt.h:24
#define _In_
Definition: sal.h:305
Definition: excpt.h:23
Definition: excpt.h:21
_EXCEPTION_DISPOSITION
Definition: excpt.h:19
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
Definition: excpt.h:22
void *__cdecl _exception_info(void)
#define _Inout_
Definition: sal.h:375
unsigned long __cdecl _exception_code(void)