Jump to content

EXCEPTIONREGISTRATIONRECORD: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== EXCEPTIONREGISTRATIONRECORD ==
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.
   
   
Line 21: Line 20:
                               PVOID);
                               PVOID);
  typedef _ERR *ERR;
  typedef _ERR *ERR;
==PEXCEPTIONREGISTRATIONRECORD==
Pointer to EXCEPTIONREGISTRATIONRECORD
typedef EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD;


[[Category:Data type]]
[[Category:Data type]]

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;