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

Start transferring zone data.

Declaration:

 
Copy Code
AT_ERRCOUNT ACCUAPI IG_ISIS_drv_start_data(
        HISISDRV hZone
);

Arguments:

Name Type Description
hZone HISISDRV The handle of the zone for which data is to be transferred.

Return Value:

Error count.

Supported Raster Image Formats:

Depends on the scanner driver.

Example:

The following example shows how the IG_ISIS_drv_run_zone function is implemented. The relationships of the functions would be the same in most any scanning application.

 
Copy Code
INT32 PUBLIC_FUNC IG_ISIS_run_zone(HISISDRV hDriver,
                                                      char FAR *buffer, INT16 size)
{
        HISISDRV hStack, hPage, hZone;
        AT_ERRCOUNT nErrCount;
        if ((nErrCount = IG_ISIS_drv_start_stack(hDriver, &hStack)) == IGE_SUCCESS) {
                if ((nErrCount = IG_ISIS_drv_start_page(hStack, &hPage)) == IGE_SUCCESS) {
                        if ((nErrCount = IG_ISIS_drv_start_zone(hPage, &hZone)) == IGE_SUCCESS) {
                                if ((nErrCount = IG_ISIS_drv_forward(hZone, 0)) == IGE_SUCCESS)
                                        nErrCount = IG_ISIS_drv_start_data(hZone);
                                if (nErrCount == IGE_SUCCESS) {
                                        do {
                                                nErrCount = IG_ISIS_drv_put_data(hZone,buffer,size,0);
                                        } while (nErrCount == IGE_SUCCESS);
                                }
                                nErrCount = IG_ISIS_drv_end_zone(hZone);
                        }
                        nErrCount = IG_ISIS_drv_end_page(hPage);
                }
                nErrCount = IG_ISIS_drv_end_stack(hStack);
        }
        return nErrCount;
}

Remarks:

The IG_ISIS_drv_start_data function tells a driver to start transferring zone data.

IG_ISIS_drv_start_data is one of several hierarchical data transfer functions that are called automatically by the IG_ISIS_drv_run_zone function. IG_ISIS_drv_start_data must be called before IG_ISIS_drv_put_data. The IG_ISIS_drv_start_data function sends current tag values to all drivers in the ISIS pipe at the very last minute before actually invoking the pipe, so that each driver is certain to have the most recent tag values.

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