Notifying Applications of Compression and Decompression Status

A client application sends the ICM_SET_STATUS_PROC message to receive notification messages about the progress of compression or decompression. When received, drivers should periodically send notification messages to the callback function specified with the message during compression or decompression. Support of this function is optional but highly recommended if compression or decompression takes longer than approximately one tenth of one second.

The dwParam1 parameter of the message specifies a pointer to an ICSETSTATUSPROC structure and dwParam2 specifies the size of the ICSETSTATUSPROC data structure. The lParam member specifies a constant passed to the status procedure when it is called. The fpfnStatus member specifies a pointer to the status function. This is NULL if status messages should not be sent. The status function has the following prototype:

LONG MyStatusProc(LPARAM lParam, UINT message)

The lParam parameter specifies the constant specified in the lParam member of the ICSETSTATUSPROC structure. The message parameter specifies one of the following messages the driver sends.

Message Description
ICSTATUS_START Indicates the operation is starting.
ICSTATUS_STATUS Indicates the operation is proceeding, and is l percent done.
ICSTATUS_END Indicates the operation is finishing.
ICSTATUS_YIELD Indicates a length operation is proceeding.