Adding Drivers Within an Application

If you need your application to implement its own compression routines internally, the application can add drivers to the ACM by calling the acmDriverAdd function. The application implements the driver by providing a function that conforms to the acmDriverProc prototype. After the application has added the driver, the application can use the driver through the ACM as it would use any other driver.

The ACM treats drivers as either global or local. An application specifies whether a driver should be added as global or local when it calls acmDriverAdd. There are two differences between global and local drivers:

  • Drivers added as global drivers are not shared with other applications.
  • An application can directly alter the priority of a global driver (but not a local driver) by calling the acmDriverPriority function. The ACM conducts a prioritized search when seeking an appropriate driver to provide an implementation of a function call. The ACM always gives local drivers higher priority than global drivers. The most recently added local driver has highest priority.