Jump to content

EXCEPTIONREGISTRATIONRECORD

From EDM2
Revision as of 12:23, 28 June 2005 by Anakor (talk | contribs) (New)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

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;