The following example uses the ICQueryConfigure macro to demonstrate how to test whether a compressor supports the configuration dialog box and to display it if it does.
// If the compressor handles a configuration dialog box, display it
// using our application window as the parent window.
if (ICQueryConfigure(hIC)) ICConfigure(hIC, hwndApp);
The following example shows how to obtain the state data using the ICGetState macro.
dwStateSize = ICGetStateSize(hIC); // gets size of buffer required
h = GlobalAlloc(GHND, dwStateSize); // allocates buffer
ICGetState(hIC, (LPVOID)lpData, dwStateSize); // gets the state data
// Store the state data as required.
The following example shows how to restore state data using the ICSetState macro. State data restored by applications should not contain any changes to the state data obtained from a driver.
ICSetState(hIC, (LPVOID)lpData, dwStateSize); // sets new state data