ImageGear for C and C++ on Windows v19.3 - Updated
IG_ISIS_drv_end_page
API Reference Guide > ISIS Component API Reference > ISIS Component Functions Reference > Single-Step Driver Control Functions > IG_ISIS_drv_end_page

Signal end of page.

Declaration:

 
Copy Code
AT_ERRCOUNT ACCUAPI IG_ISIS_drv_end_page(
        HISISDRV hPage
);

Arguments:

Name Type Description
hPage HISISDRV 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.

See Also:

IG_ISIS_drv_end_stack

IG_ISIS_drv_end_zone

IG_ISIS_drv_start_page

IG_ISIS_drv_run_zone