ImageGear for C and C++ on Windows v21.0 - Updated
API Reference Guide / Core Component API Reference / Core Component Callback Functions Reference / LPFNIG_ERRSTACK_ADD
In This Topic
    LPFNIG_ERRSTACK_ADD
    In This Topic

    This callback function is called each time a thread that registered this callback (using IG_err_callback_set() function) adds a new record to the error stack.

    Declaration:

     
    Copy Code
    typedef VOID (LPACCUAPI LPFNIG_ERRSTACK_ADD)(
            LPVOID lpPrivate,     
            UINT nRecord,
            INT iLineNumber,
            AT_ERRCODE iCode,
            UINT nLevel,
            AT_INT lValue1,
            AT_INT lValue2,
            LPCHAR lpFileName,
            LPCHAR lpExtratext
    );
    

    Arguments:

    Name Type Description
    lpPrivate LPVOID Private data passed in when you register a callback.
    nRecord UINT Index of this record in the stack.
    iLineNumber INT Line number where the problem has occurred.
    iCode AT_ERRCODE Error code.
    nLevel UINT Level of the error.
    lValue1 AT_INT Specific value identifying the reason for the error.
    lValue2 AT_INT Specific value identifying the reason for the error.
    lpFileName LPCHAR Pointer to a string holding a filename or NULL if not available.
    lpExtratext LPCHAR Pointer to a string holding additional information, or NULL if not available.

    Return Value:

    None

    Supported Raster Image Formats:

    This function does not process image pixels.

    Sample:

    Filter, Multimedia, MFC Threads

    Example:

     
    Copy Code
    VOID   ACCUAPI  LocThErrAddCB(
    LPVOID   lpPrivate,    /* Private data passed in.  */
    UINT    nRecord,     /* index of this record in the stack    */
    INT      iLineNumber, /* line number where problen occurred   */
    AT_ERRCODE   iCode,     /* error code. */
    UINT      nLevel,       /* level of the error.     */
    LONG      lValue1,
    LONG      lValue2,
    LPCHAR    lpFileName,  /* filename str ofr NULL if not present. */
    LPCHAR    lpExtratext  /* extra text info about error.  */
    )
    {
            char     szOutput[1024];
            sprintf( szOutput, "Local CallBack - new error record added:\nThread Id:%u\nThread
    Number=%i\nRecord=%i\nLine=%i\nCode=%i\nLevel=%i\nValue1=%i; Value2=%i,\nFile Name:
    %s\nExtra Text: %s", 
                    GetCurrentThreadId(), (int)lpPrivate, nRecord, iLineNumber, iCode, nLevel, lValue1,
    lValue2, lpFileName, lpExtratext );
            //AfxMessageBox( szOutput );
            ::MessageBox(NULL, szOutput, "THREADS", MB_OK);
    }