EXCEPTIONREPORTRECORD (EXCEPTIONREPORTRECORD) - input/output

      A pointer to the exception report record, which describes the exception and its parameters.
    EXCEPTIONREGISTRATIONRECORD ( EXCEPTIONREGISTRATIONRECORD) - input/output
      This is a microprocessor-specific value. For the 80386 microprocessor, this is a pointer to the exception registration record data structure that was used to register the current exception handler.
    ContextRecord (CONTEXTRECORD) - input/output
      A pointer to a context record, which describes the machine state at the time the exception occurred.
    DispatcherContext (DISPATCHERCONTEXT) - output
      A pointer to a reserved field that receives state information on nested exceptions and collided unwinds. This field returns information to either the exception dispatcher (in the case of nested exceptions) or to the unwind routine (in the case of collided unwinds). User code must not modify the DispatcherContext field at any time.

      When the system's exception handler is called (it is already registered by the exception dispatcher), the exception handler returns NESTED and fills in the DispatcherContext field with the address of the EXCEPTIONREGISTRATIONRECORD corresponding to the exception handler most recently called by the exception dispatcher. This indicates how far the exception dispatcher progressed through the call chain before the nesting occurred. The EH_NESTED_CALL bit is set in the EXCEPTIONREPORTRECORD flags field for each exception handler that is called between handler of the exception dispatcher and the establisher of the most recently called handler.

      In the case of a collided unwind, the exception handler registered by the unwind dispatcher will return COLLIDED_UNWIND and the DispatcherContext field will contain a pointer to the target frame of the current unwind.


    [Back] [Next]