vfw.h header

This header is used by Windows Multimedia. For more information, see:

vfw.h contains the following programming interfaces:

Interfaces

 
IAVIEditStream

The IAVIEditStream interface supports manipulating and modifying editable streams. Uses IUnknown::QueryInterface, IUnknown::AddRef, IUnknown::Release in addition to the following custom methods:_
IAVIFile

The IAVIFile interface supports opening and manipulating files and file headers, and creating and obtaining stream interfaces. Uses IUnknown::QueryInterface, IUnknown::AddRef, and IUnknown::Release in addition to the following custom methods:_
IAVIStream

The IAVIStream interface supports creating and manipulating data streams within a file. Uses IUnknown::QueryInterface, IUnknown::AddRef, IUnknown::Release in addition to the following custom methods:_
IAVIStreaming

The IAVIStreaming interface supports preparing open data streams for playback in streaming operations. Uses IUnknown::QueryInterface, IUnknown::AddRef, IUnknown::Release in addition to the following custom methods:_
IGetFrame

The IGetFrame interface supports extracting, decompressing, and displaying individual frames from an open stream.

Functions

 
AVIBuildFilterA

The AVIBuildFilter function builds a filter specification that is subsequently used by the GetOpenFileName or GetSaveFileName function. (ANSI)
AVIBuildFilterW

The AVIBuildFilter function builds a filter specification that is subsequently used by the GetOpenFileName or GetSaveFileName function. (Unicode)
AVIClearClipboard

The AVIClearClipboard function removes an AVI file from the clipboard.
AVIFileAddRef

The AVIFileAddRef function increments the reference count of an AVI file.
AVIFileCreateStream

The AVIFileCreateStream function (vfw.h) creates a new stream in an existing file and creates an interface to the new stream.
AVIFileCreateStreamA

The AVIFileCreateStream function creates a new stream in an existing file and creates an interface to the new stream. (AVIFileCreateStreamA)
AVIFileCreateStreamW

The AVIFileCreateStreamW (Unicode) function (vfw.h) creates a new stream in an existing file and creates an interface to the new stream.
AVIFileEndRecord

The AVIFileEndRecord function marks the end of a record when writing an interleaved file that uses a 1:1 interleave factor of video to audio data. (Each frame of video is interspersed with an equivalent amount of audio data.).
AVIFileExit

The AVIFileExit function exits the AVIFile library and decrements the reference count for the library.
AVIFileGetStream

The AVIFileGetStream function returns the address of a stream interface that is associated with a specified AVI file.
AVIFileInfo

The AVIFileInfo function (vfw.h) obtains information about an AVI file.
AVIFileInfoA

The AVIFileInfo function obtains information about an AVI file. (AVIFileInfoA)
AVIFileInfoW

The AVIFileInfoW function (vfw.h) obtains information about an AVI file.
AVIFileInit

The AVIFileInit function initializes the AVIFile library.
AVIFileOpen

The AVIFileOpen function (vfw.h) opens an AVI file and returns the address of a file interface used to access it.
AVIFileOpenA

The AVIFileOpen function opens an AVI file and returns the address of a file interface used to access it. (AVIFileOpenA)
AVIFileOpenW

The AVIFileOpenW function (vfw.h) opens an AVI file and returns the address of a file interface used to access it.
AVIFileReadData

The AVIFileReadData function reads optional header data that applies to the entire file, such as author or copyright information.
AVIFileRelease

The AVIFileRelease function decrements the reference count of an AVI file interface handle and closes the file if the count reaches zero.
AVIFileWriteData

The AVIFileWriteData function writes supplementary data (other than normal header, format, and stream data) to the file.
AVIGetFromClipboard

The AVIGetFromClipboard function copies an AVI file from the clipboard.
AVIMakeCompressedStream

The AVIMakeCompressedStream function creates a compressed stream from an uncompressed stream and a compression filter, and returns the address of a pointer to the compressed stream. This function supports audio and video compression.
AVIMakeFileFromStreams

The AVIMakeFileFromStreams function constructs an AVIFile interface pointer from separate streams.
AVIMakeStreamFromClipboard

The AVIMakeStreamFromClipboard function creates an editable stream from stream data on the clipboard.
AVIPutFileOnClipboard

The AVIPutFileOnClipboard function copies an AVI file to the clipboard.
AVISaveA

The AVISave function builds a file by combining data streams from other files or from memory. (ANSI)
AVISaveOptions

The AVISaveOptions function retrieves the save options for a file and returns them in a buffer.
AVISaveOptionsFree

The AVISaveOptionsFree function frees the resources allocated by the AVISaveOptions function.
AVISaveVA

The AVISaveV function builds a file by combining data streams from other files or from memory. (ANSI)
AVISaveVW

The AVISaveV function builds a file by combining data streams from other files or from memory. (Unicode)
AVISaveW

The AVISave function builds a file by combining data streams from other files or from memory. (Unicode)
AVIStreamAddRef

The AVIStreamAddRef function increments the reference count of an AVI stream.
AVIStreamBeginStreaming

The AVIStreamBeginStreaming function specifies the parameters used in streaming and lets a stream handler prepare for streaming.
AVIStreamCreate

The AVIStreamCreate function creates a stream not associated with any file.
AVIStreamDataSize

The AVIStreamDataSize macro determines the buffer size, in bytes, needed to retrieve optional header data for a specified stream.
AVIStreamEnd

The AVIStreamEnd macro calculates the sample associated with the end of a stream.
AVIStreamEndStreaming

The AVIStreamEndStreaming function ends streaming.
AVIStreamEndTime

The AVIStreamEndTime macro returns the time representing the end of the stream.
AVIStreamFindSample

The AVIStreamFindSample function returns the position of a sample (key frame, nonempty frame, or a frame containing a format change) relative to the specified position.
AVIStreamFormatSize

The AVIStreamFormatSize macro determines the buffer size, in bytes, needed to store format information for a sample in a stream.
AVIStreamGetFrame

The AVIStreamGetFrame function returns the address of a decompressed video frame.
AVIStreamGetFrameClose

The AVIStreamGetFrameClose function releases resources used to decompress video frames.
AVIStreamGetFrameOpen

The AVIStreamGetFrameOpen function prepares to decompress video frames from the specified video stream.
AVIStreamInfoA

The AVIStreamInfo function obtains stream header information. (ANSI)
AVIStreamInfoW

The AVIStreamInfo function obtains stream header information. (Unicode)
AVIStreamIsKeyFrame

The AVIStreamIsKeyFrame macro indicates whether a sample in a specified stream is a key frame.
AVIStreamLength

The AVIStreamLength function returns the length of the stream.
AVIStreamLengthTime

The AVIStreamLengthTime macro returns the length of a stream in time.
AVIStreamNearestKeyFrame

The AVIStreamNearestKeyFrame macro locates the key frame at or preceding a specified position in a stream.
AVIStreamNearestKeyFrameTime

The AVIStreamNearestKeyFrameTime macro determines the time corresponding to the beginning of the key frame nearest (at or preceding) a specified time in a stream.
AVIStreamNearestSample

The AVIStreamNearestSample macro locates the nearest nonempty sample at or preceding a specified position in a stream.
AVIStreamNearestSampleTime

The AVIStreamNearestSampleTime macro determines the time corresponding to the beginning of a sample that is nearest to a specified time in a stream.
AVIStreamNextKeyFrame

The AVIStreamNextKeyFrame macro locates the next key frame following a specified position in a stream.
AVIStreamNextKeyFrameTime

The AVIStreamNextKeyFrameTime macro returns the time of the next key frame in the stream, starting at a given time.
AVIStreamNextSample

The AVIStreamNextSample macro locates the next nonempty sample from a specified position in a stream.
AVIStreamNextSampleTime

The AVIStreamNextSampleTime macro returns the time that a sample changes to the next sample in the stream. This macro finds the next interesting time in a stream.
AVIStreamOpenFromFileA

The AVIStreamOpenFromFile function opens a single stream from a file. (ANSI)
AVIStreamOpenFromFileW

The AVIStreamOpenFromFile function opens a single stream from a file. (Unicode)
AVIStreamPrevKeyFrame

The AVIStreamPrevKeyFrame macro locates the key frame that precedes a specified position in a stream.
AVIStreamPrevKeyFrameTime

The AVIStreamPrevKeyFrameTime macro returns the time of the previous key frame in the stream, starting at a given time.
AVIStreamPrevSample

The AVIStreamPrevSample macro locates the nearest nonempty sample that precedes a specified position in a stream.
AVIStreamPrevSampleTime

The AVIStreamPrevSampleTime macro determines the time of the nearest nonempty sample that precedes a specified time in a stream.
AVIStreamRead

The AVIStreamRead function reads audio, video or other data from a stream according to the stream type.
AVIStreamReadData

The AVIStreamReadData function reads optional header data from a stream.
AVIStreamReadFormat

The AVIStreamReadFormat function reads the stream format data.
AVIStreamRelease

The AVIStreamRelease function decrements the reference count of an AVI stream interface handle, and closes the stream if the count reaches zero.
AVIStreamSampleSize

The AVIStreamRelease macro determines the size of the buffer needed to store one sample of information from a stream. The size corresponds to the sample at the position specified by lPos.
AVIStreamSampleToSample

The AVIStreamSampleToSample macro returns the sample in a stream that occurs at the same time as a sample that occurs in a second stream.
AVIStreamSampleToTime

The AVIStreamSampleToTime function converts a stream position from samples to milliseconds.
AVIStreamSetFormat

The AVIStreamSetFormat function sets the format of a stream at the specified position.
AVIStreamStart

The AVIStreamStart function returns the starting sample number for the stream.
AVIStreamStartTime

The AVIStreamStartTime macro returns the starting time of a stream's first sample.
AVIStreamTimeToSample

The AVIStreamTimeToSample function converts from milliseconds to samples.
AVIStreamWrite

The AVIStreamWrite function writes data to a stream.
AVIStreamWriteData

The AVIStreamWriteData function writes optional header information to the stream.
capCaptureAbort

The capCaptureAbort macro stops the capture operation. You can use this macro or explicitly send the WM_CAP_ABORT message.
capCaptureGetSetup

The capCaptureGetSetup macro retrieves the current settings of the streaming capture parameters. You can use this macro or explicitly send the WM_CAP_GET_SEQUENCE_SETUP message.
capCaptureSequence

The capCaptureSequence macro initiates streaming video and audio capture to a file. You can use this macro or explicitly send the WM_CAP_SEQUENCE message.
capCaptureSequenceNoFile

The capCaptureSequenceNoFile macro initiates streaming video capture without writing data to a file. You can use this macro or explicitly send the WM_CAP_SEQUENCE_NOFILE message.
capCaptureSetSetup

The capCaptureSetSetup macro sets the configuration parameters used with streaming capture. You can use this macro or explicitly send the WM_CAP_SET_SEQUENCE_SETUP message.
capCaptureSingleFrame

The capCaptureSingleFrame macro appends a single frame to a capture file that was opened using the capCaptureSingleFrameOpen macro. You can use this macro or explicitly send the WM_CAP_SINGLE_FRAME message.
capCaptureSingleFrameClose

The capCaptureSingleFrameClose macro closes the capture file opened by the capCaptureSingleFrameOpen macro. You can use this macro or explicitly send the WM_CAP_SINGLE_FRAME_CLOSE message.
capCaptureSingleFrameOpen

The capCaptureSingleFrameOpen macro opens the capture file for single-frame capturing. Any previous information in the capture file is overwritten. You can use this macro or explicitly send the WM_CAP_SINGLE_FRAME_OPEN message.
capCaptureStop

The capCaptureStop macro stops the capture operation. You can use this macro or explicitly send the WM_CAP_STOP message.
capCreateCaptureWindowA

The capCreateCaptureWindow function creates a capture window. (ANSI)
capCreateCaptureWindowW

The capCreateCaptureWindow function creates a capture window. (Unicode)
capDlgVideoCompression

The capDlgVideoCompression macro displays a dialog box in which the user can select a compressor to use during the capture process.
capDlgVideoDisplay

The capDlgVideoDisplay macro displays a dialog box in which the user can set or adjust the video output.
capDlgVideoFormat

The capDlgVideoFormat macro displays a dialog box in which the user can select the video format.
capDlgVideoSource

The capDlgVideoSource macro displays a dialog box in which the user can control the video source.
capDriverConnect

The capDriverConnect macro connects a capture window to a capture driver. You can use this macro or explicitly send the WM_CAP_DRIVER_CONNECT message.
capDriverDisconnect

The capDriverDisconnect macro disconnects a capture driver from a capture window. You can use this macro or explicitly send the WM_CAP_DRIVER_DISCONNECT message.
capDriverGetCaps

The capDriverGetCaps macro returns the hardware capabilities of the capture driver currently connected to a capture window. You can use this macro or explicitly send the WM_CAP_DRIVER_GET_CAPS message.
capDriverGetName

The capDriverGetName macro returns the name of the capture driver connected to the capture window. You can use this macro or explicitly call the WM_CAP_DRIVER_GET_NAME message.
capDriverGetVersion

The capDriverGetVersion macro returns the version information of the capture driver connected to a capture window. You can use this macro or explicitly send the WM_CAP_DRIVER_GET_VERSION message.
capEditCopy

The capEditCopy macro copies the contents of the video frame buffer and associated palette to the clipboard. You can use this macro or explicitly send the WM_CAP_EDIT_COPY message.
capFileAlloc

The capFileAlloc macro creates (preallocates) a capture file of a specified size. You can use this macro or explicitly send the WM_CAP_FILE_ALLOCATE message.
capFileGetCaptureFile

The capFileGetCaptureFile macro returns the name of the current capture file. You can use this macro or explicitly call the WM_CAP_FILE_GET_CAPTURE_FILE message.
capFileSaveAs

The capFileSaveAs macro copies the contents of the capture file to another file. You can use this macro or explicitly call the WM_CAP_FILE_SAVEAS message.
capFileSaveDIB

The capFileSaveDIB macro copies the current frame to a DIB file. You can use this macro or explicitly call the WM_CAP_FILE_SAVEDIB message.
capFileSetCaptureFile

The capFileSetCaptureFile macro names the file used for video capture. You can use this macro or explicitly call the WM_CAP_FILE_SET_CAPTURE_FILE message.
capFileSetInfoChunk

The capFileSetInfoChunk macro sets and clears information chunks. Information chunks can be inserted in an AVI file during capture to embed text strings or custom data. You can use this macro or explicitly call the WM_CAP_FILE_SET_INFOCHUNK message.
capGetAudioFormat

The capGetAudioFormat macro obtains the audio format. You can use this macro or explicitly call the WM_CAP_GET_AUDIOFORMAT message.
capGetAudioFormatSize

The capGetAudioFormatSize macro obtains the size of the audio format. You can use this macro or explicitly call the WM_CAP_GET_AUDIOFORMAT message.
capGetDriverDescriptionA

The capGetDriverDescription function retrieves the version description of the capture driver. (ANSI)
capGetDriverDescriptionW

The capGetDriverDescription function retrieves the version description of the capture driver. (Unicode)
capGetMCIDeviceName

The capGetMCIDeviceName macro retrieves the name of an MCI device previously set with the capSetMCIDeviceName macro. You can use this macro or explicitly call the WM_CAP_GET_MCI_DEVICE message.
capGetStatus

The capGetStatus macro retrieves the status of the capture window. You can use this macro or explicitly call the WM_CAP_GET_STATUS message.
capGetUserData

The capGetUserData macro retrieves a LONG_PTR data value associated with a capture window. You can use this macro or explicitly call the WM_CAP_GET_USER_DATA message.
capGetVideoFormat

The capGetVideoFormat macro retrieves a copy of the video format in use. You can use this macro or explicitly call the WM_CAP_GET_VIDEOFORMAT message.
capGetVideoFormatSize

The capGetVideoFormatSize macro retrieves the size required for the video format. You can use this macro or explicitly call the WM_CAP_GET_VIDEOFORMAT message.
capGrabFrame

The capGrabFrame macro retrieves and displays a single frame from the capture driver. After capture, overlay and preview are disabled. You can use this macro or explicitly call the WM_CAP_GRAB_FRAME message.
capGrabFrameNoStop

The capGrabFrameNoStop macro fills the frame buffer with a single uncompressed frame from the capture device and displays it.
capOverlay

The capOverlay macro enables or disables overlay mode. In overlay mode, video is displayed using hardware overlay. You can use this macro or explicitly call the WM_CAP_SET_OVERLAY message.
capPaletteAuto

The capPaletteAuto macro requests that the capture driver sample video frames and automatically create a new palette. You can use this macro or explicitly call the WM_CAP_PAL_AUTOCREATE message.
capPaletteManual

The capPaletteManual macro requests that the capture driver manually sample video frames and create a new palette. You can use this macro or explicitly call the WM_CAP_PAL_MANUALCREATE message.
capPaletteOpen

The capPaletteOpen macro loads a new palette from a palette file and passes it to a capture driver.
capPalettePaste

The capPalettePaste macro copies the palette from the clipboard and passes it to a capture driver. You can use this macro or explicitly call the WM_CAP_PAL_PASTE message.
capPaletteSave

The capPaletteSave macro saves the current palette to a palette file. Palette files typically use the filename extension .PAL. You can use this macro or explicitly send the WM_CAP_PAL_SAVE message.
capPreview

The capPreview macro enables or disables preview mode.
capPreviewRate

The capPreviewRate macro sets the frame display rate in preview mode. You can use this macro or explicitly call the WM_CAP_SET_PREVIEWRATE message.
capPreviewScale

The capPreviewScale macro enables or disables scaling of the preview video images.
capSetAudioFormat

The capSetAudioFormat macro sets the audio format to use when performing streaming or step capture. You can use this macro or explicitly call the WM_CAP_SET_AUDIOFORMAT message.
capSetCallbackOnCapControl

The capSetCallbackOnCapControl macro sets a callback function in the application giving it precise recording control. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_CAPCONTROL message.
capSetCallbackOnError

The capSetCallbackOnError macro sets an error callback function in the client application. AVICap calls this procedure when errors occur. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_ERROR message.
capSetCallbackOnFrame

The capSetCallbackOnFrame macro sets a preview callback function in the application. AVICap calls this procedure when the capture window captures preview frames. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_FRAME message.
capSetCallbackOnStatus

The capSetCallbackOnStatus macro sets a status callback function in the application. AVICap calls this procedure whenever the capture window status changes. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_STATUS message.
capSetCallbackOnVideoStream

The capSetCallbackOnVideoStream macro sets a callback function in the application. AVICap calls this procedure during streaming capture when a video buffer is filled. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_VIDEOSTREAM message.
capSetCallbackOnWaveStream

The capSetCallbackOnWaveStream macro sets a callback function in the application.
capSetCallbackOnYield

The capSetCallbackOnYield macro sets a callback function in the application. AVICap calls this procedure when the capture window yields during streaming capture. You can use this macro or explicitly call the WM_CAP_SET_CALLBACK_YIELD message.
capSetMCIDeviceName

The capSetMCIDeviceName macro specifies the name of the MCI video device to be used to capture data. You can use this macro or explicitly call the WM_CAP_SET_MCI_DEVICE message.
capSetScrollPos

The capSetScrollPos macro defines the portion of the video frame to display in the capture window.
capSetUserData

The capSetUserData macro associates a LONG_PTR data value with a capture window. You can use this macro or explicitly call the WM_CAP_SET_USER_DATA message.
capSetVideoFormat

The capSetVideoFormat macro sets the format of captured video data. You can use this macro or explicitly call the WM_CAP_SET_VIDEOFORMAT message.
CreateEditableStream

The CreateEditableStream function creates an editable stream. Use this function before using other stream editing functions.
DrawDibBegin

The DrawDib function changes parameters of a DrawDib DC or initializes a new DrawDib DC.
DrawDibChangePalette

The DrawDibChangePalette function sets the palette entries used for drawing DIBs.
DrawDibClose

The DrawDibClose function closes a DrawDib DC and frees the resources DrawDib allocated for it.
DrawDibDraw

The DrawDibDraw function draws a DIB to the screen.
DrawDibEnd

The DrawDibEnd function clears the flags and other settings of a DrawDib DC that are set by the DrawDibBegin or DrawDibDraw functions.
DrawDibGetBuffer

The DrawDibGetBuffer function retrieves the location of the buffer used by DrawDib for decompression.
DrawDibGetPalette

The DrawDibGetPalette function retrieves the palette used by a DrawDib DC.
DrawDibOpen

The DrawDibOpen function opens the DrawDib library for use and creates a DrawDib DC for drawing.
DrawDibProfileDisplay

The DrawDibProfileDisplay function determines settings for the display system when using DrawDib functions.
DrawDibRealize

The DrawDibRealize function realizes the palette of the DrawDib DC for use with the specified DC.
DrawDibSetPalette

The DrawDibSetPalette function sets the palette used for drawing DIBs.
DrawDibStart

The DrawDibStart function prepares a DrawDib DC for streaming playback.
DrawDibStop

The DrawDibStop function frees the resources used by a DrawDib DC for streaming playback.
DrawDibTime

The DrawDibTime function retrieves timing information about the drawing operation and is used during debug operations.
DrawDibUpdate

The DrawDibUpdate macro draws the last frame in the DrawDib off-screen buffer.
EditStreamClone

The EditStreamClone function creates a duplicate editable stream.
EditStreamCopy

The EditStreamCopy function copies an editable stream (or a portion of it) into a temporary stream.
EditStreamCut

The EditStreamCut function deletes all or part of an editable stream and creates a temporary editable stream from the deleted portion of the stream.
EditStreamPaste

The EditStreamPaste function copies a stream (or a portion of it) from one stream and pastes it within another stream at a specified location.
EditStreamSetInfoA

The EditStreamSetInfo function changes characteristics of an editable stream. (ANSI)
EditStreamSetInfoW

The EditStreamSetInfo function changes characteristics of an editable stream. (Unicode)
EditStreamSetNameA

The EditStreamSetName function assigns a descriptive string to a stream. (ANSI)
EditStreamSetNameW

The EditStreamSetName function assigns a descriptive string to a stream. (Unicode)
GetOpenFileNamePreviewA

The GetOpenFileNamePreview function selects a file by using the Open dialog box. The dialog box also allows the user to preview the currently specified AVI file. This function augments the capability found in the GetOpenFileName function. (ANSI)
GetOpenFileNamePreviewW

The GetOpenFileNamePreview function selects a file by using the Open dialog box. The dialog box also allows the user to preview the currently specified AVI file. This function augments the capability found in the GetOpenFileName function. (Unicode)
GetSaveFileNamePreviewA

The GetSaveFileNamePreview function selects a file by using the Save As dialog box. The dialog box also allows the user to preview the currently specified file. This function augments the capability found in the GetSaveFileName function. (ANSI)
GetSaveFileNamePreviewW

The GetSaveFileNamePreview function selects a file by using the Save As dialog box. The dialog box also allows the user to preview the currently specified file. This function augments the capability found in the GetSaveFileName function. (Unicode)
ICAbout

The ICAbout macro notifies a video compression driver to display its About dialog box. You can use this macro or explicitly call the ICM_ABOUT message.
ICClose

The ICClose function closes a compressor or decompressor.
ICCompress

The ICCompress function compresses a single video image.
ICCompressBegin

The ICCompressBegin macro notifies a video compression driver to prepare to compress data. You can use this macro or explicitly call the ICM_COMPRESS_BEGIN message.
ICCompressEnd

The ICCompressEnd macro notifies a video compression driver to end compression and free resources allocated for compression. You can use this macro or explicitly call the ICM_COMPRESS_END message.
ICCompressGetFormat

The ICCompressGetFormat macro requests the output format of the compressed data from a video compression driver. You can use this macro or explicitly call the ICM_COMPRESS_GET_FORMAT message.
ICCompressGetFormatSize

The ICCompressGetFormatSize macro requests the size of the output format of the compressed data from a video compression driver. You can use this macro or explicitly call the ICM_COMPRESS_GET_FORMAT message.
ICCompressGetSize

The ICCompressGetSize macro requests that the video compression driver supply the maximum size of one frame of data when compressed into the specified output format. You can use this macro or explicitly call the ICM_COMPRESS_GET_SIZE message.
ICCompressorChoose

The ICCompressorChoose function displays a dialog box in which a user can select a compressor. This function can display all registered compressors or list only the compressors that support a specific format.
ICCompressorFree

The ICCompressorFree function frees the resources in the COMPVARS structure used by other VCM functions.
ICCompressQuery

The ICCompressQuery macro queries a video compression driver to determine if it supports a specific input format or if it can compress a specific input format to a specific output format.
ICConfigure

The ICConfigure macro notifies a video compression driver to display its configuration dialog box. You can use this macro or explicitly send the ICM_CONFIGURE message.
ICDecompress

The ICDecompress function decompresses a single video frame.
ICDecompressBegin

The ICDecompressBegin macro notifies a video decompression driver to prepare to decompress data. You can use this macro or explicitly call the ICM_DECOMPRESS_BEGIN message.
ICDecompressEnd

The ICDecompressEnd macro notifies a video decompression driver to end decompression and free resources allocated for decompression. You can use this macro or explicitly call the ICM_DECOMPRESS_END message.
ICDecompressEx

The ICDecompressEx function decompresses a single video frame.
ICDecompressExBegin

The ICDecompressExBegin function prepares a decompressor for decompressing data.
ICDecompressExEnd

The ICDecompressExEnd macro notifies a video decompression driver to end decompression and free resources allocated for decompression. You can use this macro or explicitly call the ICM_DECOMPRESSEX_END message.
ICDecompressExQuery

The ICDecompressExQuery function determines if a decompressor can decompress data with a specific format.
ICDecompressGetFormat

The ICDecompressGetFormat macro requests the output format of the decompressed data from a video decompression driver. You can use this macro or explicitly call the ICM_DECOMPRESS_GET_FORMAT message.
ICDecompressGetFormatSize

The ICDecompressGetFormatSize macro requests the size of the output format of the decompressed data from a video decompression driver. You can use this macro or explicitly call the ICM_DECOMPRESS_GET_FORMAT message.
ICDecompressGetPalette

The ICDecompressGetPalette macro requests that the video decompression driver supply the color table of the output BITMAPINFOHEADER structure. You can use this macro or explicitly call the ICM_DECOMPRESS_GET_PALETTE message.
ICDecompressOpen

The ICDecompressOpen macro opens a decompressor that is compatible with the specified formats.
ICDecompressQuery

The ICDecompressQuery macro queries a video decompression driver to determine if it supports a specific input format or if it can decompress a specific input format to a specific output format.
ICDecompressSetPalette

The ICDecompressSetPalette macro specifies a palette for a video decompression driver to use if it is decompressing to a format that uses a palette. You can use this macro or explicitly call the ICM_DECOMPRESS_SET_PALETTE message.
ICDraw

The ICDraw function decompresses an image for drawing.
ICDrawBegin

The ICDrawBegin function initializes the renderer and prepares the drawing destination for drawing.
ICDrawChangePalette

The ICDrawChangePalette macro notifies a rendering driver that the movie palette is changing. You can use this macro or explicitly call the ICM_DRAW_CHANGEPALETTE message.
ICDrawEnd

The ICDrawEnd macro notifies a rendering driver to decompress the current image to the screen and to release resources allocated for decompression and drawing. You can use this macro or explicitly call the ICM_DRAW_END message.
ICDrawFlush

The ICDrawFlush macro notifies a rendering driver to render the contents of any image buffers that are waiting to be drawn. You can use this macro or explicitly call the ICM_DRAW_FLUSH message.
ICDrawGetTime

The ICDrawGetTime macro requests a rendering driver that controls the timing of drawing frames to return the current value of its internal clock. You can use this macro or explicitly call the ICM_DRAW_GETTIME message.
ICDrawOpen

The ICDrawOpen macro opens a driver that can draw images with the specified format.
ICDrawQuery

The ICDrawQuery macro queries a rendering driver to determine if it can render data in a specific format. You can use this macro or explicitly call the ICM_DRAW_QUERY message.
ICDrawRealize

The ICDrawRealize macro notifies a rendering driver to realize its drawing palette while drawing. You can use this macro or explicitly call the ICM_DRAW_REALIZE message.
ICDrawRenderBuffer

The ICDrawRenderBuffer macro notifies a rendering driver to draw the frames that have been passed to it. You can use this macro or explicitly call the ICM_DRAW_RENDERBUFFER message.
ICDrawSetTime

The ICDrawSetTime macro provides synchronization information to a rendering driver that handles the timing of drawing frames.
ICDrawStart

The ICDrawStart macro notifies a rendering driver to start its internal clock for the timing of drawing frames. You can use this macro or explicitly call the ICM_DRAW_START message.
ICDrawStartPlay

The ICDrawStartPlay macro provides the start and end times of a play operation to a rendering driver. You can use this macro or explicitly call the ICM_DRAW_START_PLAY message.
ICDrawStop

The ICDrawStop macro notifies a rendering driver to stop its internal clock for the timing of drawing frames. You can use this macro or explicitly call the ICM_DRAW_STOP message.
ICDrawStopPlay

The ICDrawStopPlay macro notifies a rendering driver when a play operation is complete. You can use this macro or explicitly call the ICM_DRAW_STOP_PLAY message.
ICDrawSuggestFormat

The ICDrawSuggestFormat function notifies the drawing handler to suggest the input data format.
ICDrawWindow

The ICDrawWindow macro notifies a rendering driver that the window specified for the ICM_DRAW_BEGIN message needs to be redrawn. The window has moved or become temporarily obscured. You can use this macro or explicitly call the ICM_DRAW_WINDOW message.
ICGetBuffersWanted

The ICGetBuffersWanted macro queries a driver for the number of buffers to allocate. You can use this macro or explicitly call the ICM_GETBUFFERSWANTED message.
ICGetDefaultKeyFrameRate

The ICGetDefaultKeyFrameRate macro queries a video compression driver for its default (or preferred) key-frame spacing. You can use this macro or explicitly call the ICM_GETDEFAULTKEYFRAMERATE message.
ICGetDefaultQuality

The ICGetDefaultQuality macro queries a video compression driver to provide its default quality setting. You can use this macro or explicitly call the ICM_GETDEFAULTQUALITY message.
ICGetDisplayFormat

The ICGetDisplayFormat function determines the best format available for displaying a compressed image. The function also opens a compressor if a handle of an open compressor is not specified.
ICGetInfo

The ICGetInfo function obtains information about a compressor.
ICGetState

The ICGetState macro queries a video compression driver to return its current configuration in a block of memory. You can use this macro or explicitly call the ICM_GETSTATE message.
ICGetStateSize

The ICGetStateSize macro queries a video compression driver to determine the amount of memory required to retrieve the configuration information. You can use this macro or explicitly call the ICM_GETSTATE message.
ICImageCompress

The ICImageCompress function compresses an image to a given size. This function does not require initialization functions.
ICImageDecompress

The ICImageDecompress function decompresses an image without using initialization functions.
ICInfo

The ICInfo function retrieves information about specific installed compressors or enumerates the installed compressors.
ICInstall

The ICInstall function installs a new compressor or decompressor.
ICLocate

The ICLocate function finds a compressor or decompressor that can handle images with the specified formats, or finds a driver that can decompress an image with a specified format directly to hardware.
ICOpen

The ICOpen function opens a compressor or decompressor.
ICOpenFunction

The ICOpenFunction function opens a compressor or decompressor defined as a function.
ICQueryAbout

The ICQueryAbout macro queries a video compression driver to determine if it has an About dialog box. You can use this macro or explicitly call the ICM_ABOUT message.
ICQueryConfigure

The ICQueryConfigure macro queries a video compression driver to determine if it has a configuration dialog box. You can use this macro or explicitly send the ICM_CONFIGURE message.
ICRemove

The ICRemove function removes an installed compressor.
ICSendMessage

The ICSendMessage function sends a message to a compressor.
ICSeqCompressFrame

The ICSeqCompressFrame function compresses one frame in a sequence of frames.
ICSeqCompressFrameEnd

The ICSeqCompressFrameEnd function ends sequence compression that was initiated by using the ICSeqCompressFrameStart and ICSeqCompressFrame functions.
ICSeqCompressFrameStart

The ICSeqCompressFrameStart function initializes resources for compressing a sequence of frames using the ICSeqCompressFrame function.
ICSetState

The ICSetState macro notifies a video compression driver to set the state of the compressor. You can use this macro or explicitly call the ICM_SETSTATE message.
ICSetStatusProc

The ICSetStatusProc function sends the address of a status callback function to a compressor. The compressor calls this function during lengthy operations.
MCIWndCanConfig

The MCIWndCanConfig macro determines if an MCI device can display a configuration dialog box. You can use this macro or explicitly send the MCIWNDM_CAN_CONFIG message.
MCIWndCanEject

The MCIWndCanEject macro determines if an MCI device can eject its media. You can use this macro or explicitly send the MCIWNDM_CAN_EJECT message.
MCIWndCanPlay

The MCIWndCanPlay macro determines if an MCI device can play a data file or content of some other kind. You can use this macro or explicitly send the MCIWNDM_CAN_PLAY message.
MCIWndCanRecord

The MCIWndCanRecord macro determines if an MCI device supports recording. You can use this macro or explicitly send the MCIWNDM_CAN_RECORD message.
MCIWndCanSave

The MCIWndCanSave macro determines if an MCI device can save data. You can use this macro or explicitly send the MCIWNDM_CAN_SAVE message.
MCIWndCanWindow

The MCIWndCanWindow macro determines if an MCI device supports window-oriented MCI commands. You can use this macro or explicitly send the MCIWNDM_CAN_WINDOW message.
MCIWndChangeStyles

The MCIWndChangeStyles macro changes the styles used by the MCIWnd window. You can use this macro or explicitly send the MCIWNDM_CHANGESTYLES message.
MCIWndClose

The MCIWndClose macro closes an MCI device or file associated with an MCIWnd window.
MCIWndCreateA

The MCIWndCreate function registers the MCIWnd window class and creates an MCIWnd window for using MCI services. MCIWndCreate can also open an MCI device or file (such as an AVI file) and associate it with the MCIWnd window. (ANSI)
MCIWndCreateW

The MCIWndCreate function registers the MCIWnd window class and creates an MCIWnd window for using MCI services. MCIWndCreate can also open an MCI device or file (such as an AVI file) and associate it with the MCIWnd window. (Unicode)
MCIWndDestroy

The MCIWndDestroy macro closes an MCI device or file associated with an MCIWnd window and destroys the window. You can use this macro or explicitly send the WM_CLOSE message.
MCIWndEject

The MCIWndEject macro sends a command to an MCI device to eject its media. You can use this macro or explicitly send the MCIWNDM_EJECT message.
MCIWndEnd

The MCIWndEnd macro moves the current position to the end of the content. You can use this macro or explicitly send the MCI_SEEK message.
MCIWndGetActiveTimer

The MCIWndGetActiveTimer macro retrieves the update period used when the MCIWnd window is the active window. You can use this macro or explicitly send the MCIWNDM_GETACTIVETIMER message.
MCIWndGetAlias

The MCIWndGetAlias macro retrieves the alias used to open an MCI device or file with the mciSendString function. You can use this macro or explicitly send the MCIWNDM_GETALIAS message.
MCIWndGetDest

The MCIWndGetDest macro retrieves the coordinates of the destination rectangle used for zooming or stretching the images of an AVI file during playback. You can use this macro or explicitly send the MCIWNDM_GET_DEST message.
MCIWndGetDevice

The MCIWndGetDevice macro retrieves the name of the current MCI device. You can use this macro or explicitly send the MCIWNDM_GETDEVICE message.
MCIWndGetDeviceID

The MCIWndGetDeviceID macro retrieves the identifier of the current MCI device to use with the mciSendCommand function. You can use this macro or explicitly send the MCIWNDM_GETDEVICEID message.
MCIWndGetEnd

The MCIWndGetEnd macro retrieves the location of the end of the content of an MCI device or file. You can use this macro or explicitly send the MCIWNDM_GETEND message.
MCIWndGetError

The MCIWndGetError macro retrieves the last MCI error encountered. You can use this macro or explicitly send the MCIWNDM_GETERROR message.
MCIWndGetFileName

The MCIWndGetFileName macro retrieves the filename used by an MCI device. You can use this macro or explicitly send the MCIWNDM_GETFILENAME message.
MCIWndGetInactiveTimer

The MCIWndGetInactiveTimer macro retrieves the update period used when the MCIWnd window is the inactive window. You can use this macro or explicitly send the MCIWNDM_GETINACTIVETIMER message.
MCIWndGetLength

The MCIWndGetLength macro retrieves the length of the content or file currently used by an MCI device. You can use this macro or explicitly send the MCIWNDM_GETLENGTH message.
MCIWndGetMode

The MCIWndGetMode macro retrieves the current operating mode of an MCI device. MCI devices have several operating modes, which are designated by constants. You can use this macro or explicitly send the MCIWNDM_GETMODE message.
MCIWndGetPalette

The MCIWndGetPalette macro retrieves a handle of the palette used by an MCI device. You can use this macro or explicitly send the MCIWNDM_GETPALETTE message.
MCIWndGetPosition

The MCIWndGetPosition macro retrieves the numerical value of the current position within the content of the MCI device. You can use this macro or explicitly send the MCIWNDM_GETPOSITION message.
MCIWndGetPositionString

The MCIWndGetPositionString macro retrieves the numerical value of the current position within the content of the MCI device.
MCIWndGetRepeat

The MCIWndGetRepeat macro determines if continuous playback has been activated. You can use this macro or explicitly send the MCIWNDM_GETREPEAT message.
MCIWndGetSource

The MCIWndGetSource macro retrieves the coordinates of the source rectangle used for cropping the images of an AVI file during playback. You can use this macro or explicitly send the MCIWNDM_GET_SOURCE message.
MCIWndGetSpeed

The MCIWndGetSpeed macro retrieves the playback speed of an MCI device. You can use this macro or explicitly send the MCIWNDM_GETSPEED message.
MCIWndGetStart

The MCIWndGetStart macro retrieves the location of the beginning of the content of an MCI device or file. You can use this macro or explicitly send the MCIWNDM_GETSTART message.
MCIWndGetStyles

The MCIWndGetStyles macro retrieves the flags specifying the current MCIWnd window styles used by a window. You can use this macro or explicitly send the MCIWNDM_GETSTYLES message.
MCIWndGetTimeFormat

The MCIWndGetTimeFormat macro retrieves the current time format of an MCI device in two forms:_as a numerical value and as a string. You can use this macro or explicitly send the MCIWNDM_GETTIMEFORMAT message.
MCIWndGetVolume

The MCIWndGetVolume macro retrieves the current volume setting of an MCI device. You can use this macro or explicitly send the MCIWNDM_GETVOLUME message.
MCIWndGetZoom

The MCIWndGetZoom macro retrieves the current zoom value used by an MCI device. You can use this macro or explicitly send the MCIWNDM_GETZOOM message.
MCIWndHome

The MCIWndHome macro moves the current position to the beginning of the content. You can use this macro or explicitly send the MCI_SEEK command.
MCIWndNew

The MCIWndNew macro creates a new file for the current MCI device. You can use this macro or explicitly send the MCIWNDM_NEW message.
MCIWndOpen

The MCIWndOpen macro opens an MCI device and associates it with an MCIWnd window.
MCIWndOpenDialog

The MCIWndOpenDialog macro opens a user-specified data file and corresponding type of MCI device, and associates them with an MCIWnd window.
MCIWndOpenInterface

The MCIWndOpenInterface macro attaches the data stream or file associated with the specified interface to an MCIWnd window. You can use this macro or explicitly send the MCIWNDM_OPENINTERFACE message.
MCIWndPause

The MCIWndPause macro sends a command to an MCI device to pause playing or recording.
MCIWndPlay

The MCIWndPlay macro sends a command to an MCI device to start playing from the current position in the content. You can use this macro or explicitly send the MCI_PLAY command.
MCIWndPlayFrom

The MCIWndPlayFrom macro plays the content of an MCI device from the specified location to the end of the content or until another command stops playback. You can use this macro or explicitly send the MCIWNDM_PLAYFROM message.
MCIWndPlayFromTo

The MCIWndPlayFromTo macro plays a portion of content between specified starting and ending locations.
MCIWndPlayReverse

The MCIWndPlayReverse macro plays the current content in the reverse direction, beginning at the current position and ending at the beginning of the content or until another command stops playback.
MCIWndPlayTo

The MCIWndPlayTo macro plays the content of an MCI device from the current position to the specified ending location or until another command stops playback.
MCIWndPutDest

The MCIWndPutDest macro redefines the coordinates of the destination rectangle used for zooming or stretching the images of an AVI file during playback. You can use this macro or explicitly send the MCIWNDM_PUT_DEST message.
MCIWndPutSource

The MCIWndPutSource macro redefines the coordinates of the source rectangle used for cropping the images of an AVI file during playback. You can use this macro or explicitly send the MCIWNDM_PUT_SOURCE message.
MCIWndRealize

The MCIWndRealize macro controls how an MCI window realized in the foreground or background. This macro also causes the palette for the MCI window to be realized in the process. You can use this macro or explicitly send the MCIWNDM_REALIZE message.
MCIWndRecord

The MCIWndRecord macro begins recording content using the MCI device. The recording process begins at the current position in the content and will overwrite existing data for the duration of the recording.
MCIWndRegisterClass

The MCIWndRegisterClass function registers the MCI window class MCIWND_WINDOW_CLASS.
MCIWndResume

The MCIWndResume macro resumes playback or recording content from the paused mode. This macro restarts playback or recording from the current position in the content. You can use this macro or explicitly send the MCI_RESUME command.
MCIWndReturnString

The MCIWndReturnString macro retrieves the reply to the most recent MCI string command sent to an MCI device. Information in the reply is supplied as a null-terminated string. You can use this macro or explicitly send the MCIWNDM_RETURNSTRING message.
MCIWndSave

The MCIWndSave macro saves the content currently used by an MCI device.
MCIWndSaveDialog

The MCIWndSaveDialog macro saves the content currently used by an MCI device. This macro displays the Save dialog box to let the user select a filename to store the content. You can use this macro or explicitly send the MCI_SAVE command.
MCIWndSeek

The MCIWndSeek macro moves the playback position to the specified location in the content. You can use this macro or explicitly use the MCI_SEEK command.
MCIWndSendString

The MCIWndSendString macro sends an MCI command in string form to the device associated with the MCIWnd window. You can use this macro or explicitly send the MCIWNDM_SENDSTRING message.
MCIWndSetActiveTimer

The MCIWndSetActiveTimer macro sets the update period used by MCIWnd to update the trackbar in the MCIWnd window, update position information displayed in the window title bar, and send notification messages to the parent window when the MCIWnd window is active. You can use this macro or explicitly send the MCIWNDM_SETACTIVETIMER message.
MCIWndSetInactiveTimer

The MCIWndSetInactiveTimer macro sets the update period used by MCIWnd to update the trackbar in the MCIWnd window, update position information displayed in the window title bar, and send notification messages to the parent window when the MCIWnd window is inactive. You can use this macro or explicitly send the MCIWNDM_SETINACTIVETIMER message.
MCIWndSetOwner

The MCIWndSetOwner macro sets the window to receive notification messages associated with the MCIWnd window. You can use this macro or explicitly send the MCIWNDM_SETOWNER message.
MCIWndSetPalette

The MCIWndSetPalette macro sends a palette handle to the MCI device associated with the MCIWnd window. You can use this macro or explicitly send the MCIWNDM_SETPALETTE message.
MCIWndSetRepeat

The MCIWndSetRepeat macro sets the repeat flag associated with continuous playback. You can use this macro or explicitly send the MCIWNDM_SETREPEAT message.
MCIWndSetSpeed

The MCIWndSetSpeed macro sets the playback speed of an MCI device. You can use this macro or explicitly send the MCIWNDM_SETSPEED message.
MCIWndSetTimeFormat

The MCIWndSetTimeFormat macro sets the time format of an MCI device. You can use this macro or explicitly send the MCIWNDM_SETTIMEFORMAT message.
MCIWndSetTimers

The MCIWndSetTimers macro sets the update periods used by MCIWnd to update the trackbar in the MCIWnd window, update the position information displayed in the window title bar, and send notification messages to the parent window.
MCIWndSetVolume

The MCIWndSetVolume macro sets the volume level of an MCI device. You can use this macro or explicitly send the MCIWNDM_SETVOLUME message.
MCIWndSetZoom

The MCIWndSetZoom macro resizes a video image according to a zoom factor. This marco adjusts the size of an MCIWnd window while maintaining a constant aspect ratio. You can use this macro or explicitly send the MCIWNDM_SETZOOM message.
MCIWndStep

The MCIWndStep macro moves the current position in the content forward or backward by a specified increment. You can use this macro or explicitly send the MCI_STEP command.
MCIWndStop

The MCIWndStop macro stops playing or recording the content of the MCI device associated with the MCIWnd window. You can use this macro or explicitly send the MCI_STOP command.
MCIWndUseFrames

The MCIWndUseFrames macro sets the time format of an MCI device to frames. You can use this macro or explicitly send the MCIWNDM_SETTIMEFORMAT message.
MCIWndUseTime

The MCIWndUseTime macro sets the time format of an MCI device to milliseconds. You can use this macro or explicitly send the MCIWNDM_SETTIMEFORMAT message.
MCIWndValidateMedia

The MCIWndValidateMedia macro updates the starting and ending locations of the content, the current position in the content, and the trackbar according to the current time format.
mmioFOURCC

The mmioFOURCC macro converts four characters into a four-character code.
StretchDIB

The StretchDIB function copies a device independent bitmap from one memory location to another and resizes the image to fit the destination rectangle.

Callback functions

 
CAPCONTROLCALLBACK

The capControlCallback function is the callback function used for precision control to begin and end streaming capture. The name capControlCallback is a placeholder for the application-supplied function name.
CAPERRORCALLBACKA

The capErrorCallback function is the error callback function used with video capture. The name capErrorCallback is a placeholder for the application-supplied function name. (ANSI)
CAPERRORCALLBACKW

The capErrorCallback function is the error callback function used with video capture. The name capErrorCallback is a placeholder for the application-supplied function name. (Unicode)
CAPSTATUSCALLBACKA

The capStatusCallback function is the status callback function used with video capture. The name capStatusCallback is a placeholder for the application-supplied function name. (ANSI)
CAPSTATUSCALLBACKW

The capStatusCallback function is the status callback function used with video capture. The name capStatusCallback is a placeholder for the application-supplied function name. (Unicode)
CAPVIDEOCALLBACK

The capVideoStreamCallback function is the callback function used with streaming capture to optionally process a frame of captured video. The name capVideoStreamCallback is a placeholder for the application-supplied function name.
CAPWAVECALLBACK

The capWaveStreamCallback function is the callback function used with streaming capture to optionally process buffers of audio data. The name capWaveStreamCallback is a placeholder for the application-supplied function name.
CAPYIELDCALLBACK

The capYieldCallback function is the yield callback function used with video capture. The name capYieldCallback is a placeholder for the application-supplied function name.

Structures

 
AVICOMPRESSOPTIONS

The AVICOMPRESSOPTIONS structure contains information about a stream and how it is compressed and saved. This structure passes data to the AVIMakeCompressedStream function (or the AVISave function, which uses AVIMakeCompressedStream).
AVIFILEINFOA

The AVIFILEINFO structure contains global information for an entire AVI file. (ANSI)
AVIFILEINFOW

The AVIFILEINFO structure contains global information for an entire AVI file. (Unicode)
AVISTREAMINFOA

The AVISTREAMINFO structure contains information for a single stream. (ANSI)
AVISTREAMINFOW

The AVISTREAMINFO structure contains information for a single stream. (Unicode)
CAPDRIVERCAPS

The CAPDRIVERCAPS structure defines the capabilities of the capture driver.An application should use the WM_CAP_DRIVER_GET_CAPS message or capDriverGetCaps macro to place a copy of the driver capabilities in a CAPDRIVERCAPS structure whenever the application connects a capture window to a capture driver.
CAPINFOCHUNK

The CAPINFOCHUNK structure contains parameters that can be used to define an information chunk within an AVI capture file. The WM_CAP_FILE_SET_INFOCHUNK message or capSetInfoChunk macro is used to send a CAPINFOCHUNK structure to a capture window.
CAPSTATUS

The CAPSTATUS structure defines the current state of the capture window.
CAPTUREPARMS

The CAPTUREPARMS structure contains parameters that control the streaming video capture process. This structure is used to get and set parameters that affect the capture rate, the number of buffers to use while capturing, and how capture is terminated.
COMPVARS

The COMPVARS structure describes compressor settings for functions such as ICCompressorChoose, ICSeqCompressFrame, and ICCompressorFree.
DRAWDIBTIME

The DRAWDIBTIME structure contains elapsed timing information for performing a set of DrawDib operations. The DrawDibTime function resets the count and the elapsed time value for each operation each time it is called.
ICCOMPRESS

The ICCOMPRESS structure contains compression parameters used with the ICM_COMPRESS message.
ICCOMPRESSFRAMES

The ICCOMPRESSFRAMES structure contains compression parameters used with the ICM_COMPRESS_FRAMES_INFO message.
ICDECOMPRESS

The ICDECOMPRESS structure contains decompression parameters used with the ICM_DECOMPRESS message.
ICDECOMPRESSEX

The ICDECOMPRESSEX structure contains decompression parameters used with the ICM_DECOMPRESSEX message.
ICDRAW

The ICDRAW structure contains parameters for drawing video data to the screen. This structure is used with the ICM_DRAW message.
ICDRAWBEGIN

The ICDRAWBEGIN structure contains decompression parameters used with the ICM_DRAW_BEGIN message.
ICDRAWSUGGEST

The ICDRAWSUGGEST structure contains compression parameters used with the ICM_DRAW_SUGGESTFORMAT message to suggest an appropriate input format.
ICINFO

The ICINFO structure contains compression parameters supplied by a video compression driver. The driver fills or updates the structure when it receives the ICM_GETINFO message.
ICOPEN

The ICOPEN structure contains information about the data stream being compressed or decompressed, the version number of the driver, and how the driver is used.
ICSETSTATUSPROC

The ICSETSTATUSPROC structure contains status information used with the ICM_SET_STATUS_PROC message.
VIDEOHDR

The VIDEOHDR structure is used by the capVideoStreamCallback function.