IAVIStream::ReadFormat

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(
  PAVISTREAM ps,    
  LONG lPos,        
  LPVOID lpFormat,  
  LONG *lpcbFormat  
);
 

Parameters

ps
Address of the interface to a stream.
lPos
Position of the sample or frame.
lpFormat
Address of the buffer for the format data. Specify NULL to request the required size of the buffer.
lpcbFormat
Address that contains 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 Values

Returns the HRESULT defined by OLE.

Remarks

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) 
 

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in vfw.h.
  Import Library: Use vfw32.lib.

See Also

Custom File and Stream Handlers Overview, Custom File and Stream Handler Interfaces, AVIStreamReadFormat, BITMAPINFOHEADER, PCMWAVEFORMAT