Signal end of page.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_ISIS_drv_end_page( HISISDRV hPage ); |
Arguments:
hPage | The storage location of the page handle which was previously locked by the IG_ISIS_drv_start_page function. |
Return Value:
Error count.
Supported Raster Image Formats:
This function does not process image pixels.
Example:
The following example is the definition for the IG_ISIS_drv_run_zone function, showing the implementation of the start and end stack, zone, and page functions:
Copy Code | |
---|---|
INT32 PUBLIC_FUNC IG_ISIS_run_zone(HISISDRV hDriver, char FAR *buffer, INT16 size) { HISISDRV hStack, hPage, hZone; AT_ERRCOUNT nErrCount = IGE_SUCCESS;IG_ISIS_drv_start_stack(hDriver, &hStack);IG_ISIS_drv_start_page(hStack, &hPage);IG_ISIS_drv_start_zone(hPage, &hZone);IG_ISIS_drv_forward(hZone, 0);IG_ISIS_drv_start_data(hZone); do { nErrCount = IG_ISIS_drv_put_data(hZone, buffer, size, 0); } while (nErrCount == IGE_SUCCESS);IG_ISIS_drv_end_zone(hZone);IG_ISIS_drv_end_page(hPage);IG_ISIS_drv_end_stack(hStack); return nErrCount; } |
Remarks:
The IG_ISIS_drv_end_page function tells the driver that the application is done with the current page. Most scanner drivers ignore this message. A scanner that has a flatbed with a feeder mechanism might eject the page when this function is called.
Upon receiving the ISIS message issued by IG_ISIS_drv_end_page, the default message handler frees the page handle, its tags, choice nodes, and user data. If the page has any child zones, each receives the ISIS message that would normally be issued by IG_ISIS_drv_end_zone. If the userdata points to any additional memory, the driver must free this memory. The driver also may need to do some additional work to prepare the scanner for subsequent operations. A scanner driver should make sure that it calls the default message handler so that the tags, choice nodes, and userdata get properly freed.
IG_ISIS_drv_end_page is one of several hierarchical data transfer functions that are called automatically by the IG_ISIS_drv_run_zone function. The hierarchy of data transfer functions is:
Copy Code | |
---|---|
IG_ISIS_drv_start_stack IG_ISIS_drv_start_page IG_ISIS_drv_start_zone IG_ISIS_drv_forward IG_ISIS_drv_start_data IG_ISIS_drv_put_data IG_ISIS_drv_end_zone IG_ISIS_drv_end_page IG_ISIS_drv_end_stack |
Most applications can use IG_ISIS_drv_run_zone to automatically invoke the IG_ISIS_drv...functions required to acquire and process an image. IG_ISIS_drv_run_zone will call IG_ISIS_drv_start_stack|Page|Zone and IG_ISIS_drv_end_stack|Page|Zone as necessary to process documents, but will not allow a high degree of control over the individual stack, page, and zone levels. If your application needs more control over the individual levels of processing stacks, pages, and zones, then it can call the separate IG_ISIS_drv... functions as necessary. Most drivers ignore this function.