EXCEPTIONREGISTRATIONRECORD: Difference between revisions
Appearance
mNo edit summary |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
These structures are linked together to form a chain of exception handlers that are dispatched upon receipt of an exception. Exception handlers should not be registered directly from a high level language such as "C". This is the responsibility of the language runtime routine. | These structures are linked together to form a chain of exception handlers that are dispatched upon receipt of an exception. Exception handlers should not be registered directly from a high level language such as "C". This is the responsibility of the language runtime routine. | ||
=== Type === | === Type === | ||
STRUCT _EXCEPTIONREGISTRATIONRECORD *prev_structure | STRUCT _EXCEPTIONREGISTRATIONRECORD *prev_structure | ||
_ERR *ExceptionHandler | _ERR *ExceptionHandler | ||
==== C Declaration Method ==== | ==== C Declaration Method ==== | ||
typedef struct | typedef struct | ||
=== Fields === | === Fields === | ||
;prev_structure:Nested exception registration record structure. | |||
:This field should be treated as a C-language volatile field. That is, even though this field may be changed in ways unknown to your program, the intent of the original expression will be maintained. | |||
;ExceptionHandler:Pointer to the ERR function. | |||
:This field must be treated as a C-language volatile field. That is, even though this field may be changed in ways unknown to your program, the intent of the original expression will be maintained. | |||
The ERR function is defined below: | |||
typedef ULONG APIENTRY _ERR (PEXECPTIONREPORTRECORD, | typedef ULONG APIENTRY _ERR (PEXECPTIONREPORTRECORD, | ||
struct _EXCEPTIONREGISTRATIONRECORD *, | struct _EXCEPTIONREGISTRATIONRECORD *, | ||
Line 34: | Line 21: | ||
typedef _ERR *ERR; | typedef _ERR *ERR; | ||
==PEXCEPTIONREGISTRATIONRECORD== | |||
Pointer to EXCEPTIONREGISTRATIONRECORD | |||
typedef EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD; | |||
[[Category:Data type]] | |||
[[Category: |
Latest revision as of 17:55, 7 November 2017
These structures are linked together to form a chain of exception handlers that are dispatched upon receipt of an exception. Exception handlers should not be registered directly from a high level language such as "C". This is the responsibility of the language runtime routine.
Type
STRUCT _EXCEPTIONREGISTRATIONRECORD *prev_structure _ERR *ExceptionHandler
C Declaration Method
typedef struct
Fields
- prev_structure
- Nested exception registration record structure.
- This field should be treated as a C-language volatile field. That is, even though this field may be changed in ways unknown to your program, the intent of the original expression will be maintained.
- ExceptionHandler
- Pointer to the ERR function.
- This field must be treated as a C-language volatile field. That is, even though this field may be changed in ways unknown to your program, the intent of the original expression will be maintained.
The ERR function is defined below:
typedef ULONG APIENTRY _ERR (PEXECPTIONREPORTRECORD, struct _EXCEPTIONREGISTRATIONRECORD *, PCONTEXTRECORD, PVOID); typedef _ERR *ERR;
PEXCEPTIONREGISTRATIONRECORD
Pointer to EXCEPTIONREGISTRATIONRECORD
typedef EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD;