ImageGear for C and C++ on Windows v21.0 - Updated
API Reference Guide / ISIS Component API Reference / ISIS Component Functions Reference / Pipe Functions / IG_ISIS_drv_unload_pipe
In This Topic
    IG_ISIS_drv_unload_pipe
    In This Topic

    Unlink and remove one or more drivers from memory.

    Declaration:

     
    Copy Code
    AT_ERRCOUNT ACCUAPI IG_ISIS_drv_unload_pipe(
            HISISDRV hDriver
    );
    

    Arguments:

    Name Type Description
    hDriver HISISDRV The handle of the head (first) driver in the pipe.

    Return Value:

    Error count.

    Supported Raster Image Formats:

    This function does not process image pixels.

    Example:

    The following example loads, initializes, and links a set of drivers, performs some work, and then unlinks and unloads the drivers:

     
    Copy Code
    IG_ISIS_drv_load(0, szScanner, &hScan, 0);IG_ISIS_drv_init(hScan, szScanner, 0);IG_ISIS_drv_load_init_pipe(0, "RAS2RUN | RUN2G4 | PIXFPACK", &hPipe, 0);IG_ISIS_drv_link(hScan, hPipe);
    /* Perform ISIS functions on pipe                                                       */
    /*Unload the pipe                                                                                       */IG_ISIS_drv_unload_pipe(hScan);
    

    Remarks:

    The IG_ISIS_drv_unload_pipe function unlinks a linked ISIS pipe and then removes all of the previously linked drivers from memory, resetting their interrupt vectors and other system resources. IG_ISIS_drv_unload_pipe also can be used to unload a driver or pipe that was not set up using IG_ISIS_drv_load_init_pipe.

    IG_ISIS_drv_unload_pipe can be used in place of IG_ISIS_drv_link (to unlink linked drivers) and IG_ISIS_drv_unload (to unload drivers) to remove an entire ISIS pipe from memory in one operation. This function is often used in applications that use IG_ISIS_drv_load_init_pipe.

    IG_ISIS_drv_unload_pipe will not unlink or unload drivers in pipes containing splits. If any splits exist in a driver, you must use IG_ISIS_drv_split to unsplit the driver (splitting it to a null pointer (0)), and unload the driver drivers in the split by using IG_ISIS_drv_unload.

    See Also:

    IG_ISIS_drv_link

    IG_ISIS_drv_load

    IG_ISIS_drv_load_init_pipe

    IG_ISIS_drv_split

    IG_ISIS_drv_unload