Unlink and remove one or more drivers from memory.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_ISIS_drv_unload_pipe( HISISDRV hDriver ); |
Arguments:
hDriver | 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. |