Your application can configure the compressor or decompressor automatically, or it can allow the user to configure them. If it is practical, allow the user to configure the compressor or decompressor; this frees you from considering all the options for the compressor or decompressor.
The user can configure the compressor or decompressor by using a configuration dialog box. You can send the ICM_CONFIGURE message to VCM (or use the ICQueryConfigure macro) to determine if a compressor or decompressor can display a configuration dialog box. If so, send the ICM_CONFIGURE message (or use the ICConfigure macro) to display it.
Your application can send the ICM_GETSTATE and ICM_SETSTATE messages (or use the ICGetStateSize, ICGetState, and ICSetState macros) to get and set the status for a compressor or decompressor. If your application creates or modifies the status, it must obtain the layout of the compressor or decompressor data before restoring its status. Alternatively, if your application obtains the status from a compressor or decompressor and uses it to restore the status in a subsequent session, it must ensure that it restores only status information obtained from the compressor or decompressor it is currently using.