This function sets error stack callback data and functions that are called to signal error stack changes for all threads.
Declaration:
Copy Code | |
---|---|
AT_ERRCODE ACCUAPI IG_errmngr_callback_set( LPVOID lpPrivate, LPFNIG_ERRMNGR_ADD lpfnAddCB, LPFNIG_ERRMNGR_CLEAR lpfnClearCB ); |
Arguments:
lpPrivate | Any Private data that will be passed to lpfnAddCB and lpfnClearCB callbacks. NULL is acceptable. |
lpfnAddCB | Callback function that will be called after the record is added to the error stack. See LPFNIG_ERRMNGR_ADD for a declaration. |
lpfnClearCB | Callback function that will be called after the error stack is cleared. See LPFNIG_ERRMNGR_CLEAR for a declaration. |
Return Value:
Returns the code of the ImageGear error that occurred during this function call. A value of zero means no errors have occurred. Errors that occurred during this function call are not appended onto the error stack.
Supported Raster Image Formats:
This function does not process image pixels.
Sample:
MFC Threads
Example:
Copy Code | |
---|---|
VOID ACCUAPI ErrMgrRecordAdd( LPVOID lpPrivate, DWORD dwThreadID, UINT nRecord, INT iLineNumber, AT_ERRCODE iCode, UINT nLevel, AT_INT lValue1, AT_INT lValue2, LPCHAR lpFileName, LPCHAR lpExtratext ) { HWND hWnd = (HWND)lpPrivate; // update error window with new records // ... } VOID ACCUAPI ErrMgrClear( LPVOID lpPrivate, DWORD dwThreadID, UINT nRecords) { HWND hWnd = (HWND)lpPrivate; // remove records from error window // ... } void Example_IG_errmngr_callback_set() { HWND hWnd = 0; // This assuming to be a real window AT_ERRCODE iErrCode; iErrCode = IG_errmngr_callback_set( (LPVOID)hWnd, ErrMgrRecordAdd, ErrMgrClear); } |
Remarks:
Global private data and callback functions can be obtained using IG_errmngr_callback_get function.
Each thread has its own independent error stack. There are two types of callbacks - local to thread and global. This API allows you to get the global (thread independent) callbacks. Use IG_err_callback_set to set the thread specific data and callbacks.