ICDraw function

The ICDraw function decompresses an image for drawing.


  HIC    hic,
  DWORD  dwFlags,
  LPVOID lpFormat,
  LPVOID lpData,
  DWORD  cbData,
  LONG   lTime



Handle to an decompressor.


Decompression flags. The following values are defined.

Value Meaning
ICDRAW_HURRYUP Data is buffered and not drawn to the screen. Use this flag for fastest decompression.
ICDRAW_NOTKEYFRAME Current frame is not a key frame.
ICDRAW_NULLFRAME Current frame does not contain any data and the previous frame should be redrawn.
ICDRAW_PREROLL Current frame of video occurs before playback should start. For example, if playback will begin on frame 10, and frame 0 is the nearest previous key frame, frames 0 through 9 are sent to the driver with the ICDRAW_PREROLL flag set. The driver needs this data to display frame 10 properly.
ICDRAW_UPDATE Updates the screen based on previously received data. Set lpData to NULL when this flag is used.


Pointer to a BITMAPINFOHEADER structure containing the input format of the data.


Pointer to the input data.


Size of the input data, in bytes.


Time, in samples, to draw this frame. The units for video data are frames. For a definition of the playback rate, see the dwRate and dwScale members of the ICDRAWBEGIN structure.

Return Value

Returns ICERR_OK if successful or an error otherwise.


You can initiate drawing the frames by sending the ICM_DRAW_START message (or by using the ICDrawStart macro). The application should be sure to buffer the required number of frames before drawing is started. Send the KM_GETBUFFERSWANTED message (or use the ICGetBuffersWanted macro) to obtain this value.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header vfw.h
Library Vfw32.lib
DLL Msvfw32.dll

See Also

Video Compression Functions

Video Compression Manager