Jump to content

EXCEPTIONREGISTRATIONRECORD: Difference between revisions

From EDM2
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions 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.
   
   
=== 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.
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.
                  This field should be treated as a C-language volatile field.
;ExceptionHandler:Pointer to the ERR function.
                  That is, even though this field may be changed in ways unknown
: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.
                  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:


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;


[[OS2_API | Back to OS/2 API]]
[[Category:Data type]]
 
 
[[Category:The OS/2 API Project]]

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;