The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

ICM_DRAW message

The ICM_DRAW message notifies a rendering driver to decompress a frame of data and draw it to the screen.

wParam = (DWORD) (LPVOID) &icdraw; 
lParam = sizeof(ICDRAW); 



Pointer to an ICDRAW structure.


Size, in bytes, of ICDRAW.

Return Value

Returns ICERR_OK if successful or an error otherwise.


If the ICDRAW_UPDATE flag is set in the dwFlags member of ICDRAW, the area of the screen used for drawing is invalid and needs to be updated. The extent of updating depends on the contents of the lpData member.

If lpData is NULL, the driver should update the entire destination rectangle with the current image. If the driver maintains a copy of the image in an off-screen buffer, it can fail this message. If lpData is not NULL, the driver should draw the data and make sure the entire destination is updated.

If the ICDRAW_HURRYUP flag is set in dwFlags, the calling application wants the driver to proceed as quickly as possible, possibly not even updating the screen.

If the ICDRAW_PREROLL flag is set in dwFlags, this video frame is preliminary information and should not be displayed if possible. For example, if play is to start from frame 10, and frame 0 is the nearest previous key frame, frames 0 through 9 will have ICDRAW_PREROLL set.

If you want the driver to decompress data into a buffer, send the ICM_DECOMPRESS message.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]



See also

Video Compression Manager
Video Compression Messages