Save current tag values to a function pointer.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_ISIS_tag_save_file_ex( HISISDRV hDriver, LPFNIG_ISIS_SAVEEX lpfnCallback, LPSTR lpszFileName ); |
Arguments:
Name | Type | Description |
hDriver | HISISDRV | The handle to the driver. |
lpfnCallback | LPFNIG_ISIS_SAVEEX | Points to a callback function defined by the application. |
lpszFileName | LPSTR | Specifies the name of the file or data object in which to save the current tag values. Passed directly to the callback. |
Return Value:
Returns the number of ImageGear errors that occurred during this function call. If there are no errors, the return value is IGE_SUCCESS.
Supported Raster Image Formats:
This function does not process image pixels.
Remarks:
The IG_ISIS_tag_save_file_ex function outputs the current values of all tags to a function pointer that can be used by a callback procedure. This allows an application to save the values of all tags in an application-defined data object.
Use IG_ISIS_tag_save_file_ex to save the current values of all tags in a data object of the application's choice. This function accomplishes the same functionality as IG_ISIS_tag_save_file except that rather than writing the tag values to a specified file, it sends a message to a callback function each time a value would otherwise be written to a file. Use this function together with a callback function to give the application the capability to save the current scanner settings, then use IG_ISIS_tag_restore_file_ex to restore the settings at a later time.
Example:
The following code fragment defines a callback function:
Copy Code | |
---|---|
LPFNIG_ISIS_SAVEEX SampleSaveCallback; int SampleSaveCallback(char FAR *lpszSection, char FAR *lpszEntry, char FAR *lpszString, char FAR *lpszFileName); { if ((WritePriveProfileString(lpszSection, lpszEntry, lpszString, lpszFileName) return IGE_SUCCESS; else return IGE_ERROR; } |
The following code fragment defines a function that uses the callback:
Copy Code | |
---|---|
int SaveScanTags(hDriver, HWND hWnd, char FAR *lpszFileName) { AT_ERRCOUNT nErrCount; if (hDriver) { nErrCount = IG_ISIS_tag_save_file_ex(hDriver, SampleSaveCallback, lpszFileName); } return nErrCount; } |
Structures:
The callback's prototype looks like this:
Copy Code | |
---|---|
typedef INT (LPACCUAPI LPFNIG_ISIS_SAVEEX)( LPSTR lpszSection, LPSTR lpszEntry, LPSTR lpszString, LPSTR lpszFileName ); |