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.

IAVIStream::ReadFormat method

The ReadFormat method obtains format information from a stream. Fills and returns a structure with the data in an application-defined buffer. If no buffer is supplied, determines the buffer size needed to retrieve the buffer of format data. Called when an application uses the AVIStreamReadFormat function.


HRESULT ReadFormat(
  LONG lPos,
  LPVOID lpFormat,
  LONG *lpcbFormat



Pointer to the interface to a stream.


Position of the sample or frame.


Pointer to the buffer for the format data. Specify NULL to request the required size of the buffer.


Pointer to a buffer that receives the size, in bytes, of the buffer specified by lpFormat. When this method is called, the contents of this parameter indicates the size of the buffer specified by lpFormat. When this method returns control to the application, the contents of this parameter specifies the amount of data read or the required size of the buffer.

Return value

Returns the HRESULT defined by OLE.


The type of data stored in a stream dictates the format information and the structure that contains the format information. A stream handler should return all applicable format information in this structure, including palette information when the format uses a palette. A stream handler should not return stream data with the structure.

Standard video stream handlers provide format information in a BITMAPINFOHEADER structure. Standard audio stream handlers provide format information in a PCMWAVEFORMAT structure. Other data streams can use other structures that describe the stream data.

For handlers written in C++, ReadFormat has the following syntax:

HRESULT ReadFormat(LONG lPos, LPVOID lpFormat, 
    LONG *lpcbFormat) 


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]





See also

Custom File and Stream Handlers
Custom File and Stream Handler Interfaces



Community Additions

© 2015 Microsoft