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
Pointer to the interface to a stream.
lPos
Position of the sample or frame.
lpFormat
Pointer to the buffer for the format data. Specify NULL to request the required size of the buffer.
lpcbFormat
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 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)
Requirements
** Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
** Windows 95/98/Me:** Included in Windows 95 and later.
** Header:** Declared in Vfw.h.
** Library:** Use Vfw32.lib.
See Also
Custom File and Stream Handlers, Custom File and Stream Handler Interfaces, AVIStreamReadFormat, BITMAPINFOHEADER, WAVEFORMATEX