The AVIStreamRead function reads audio, video or other data from a stream according to the stream type.
STDAPI AVIStreamRead( PAVISTREAM pavi, LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, LONG * plBytes, LONG * plSamples );
Handle to an open stream.
First sample to read.
Number of samples to read. You can also specify the value AVISTREAMREAD_CONVENIENT to let the stream handler determine the number of samples to read.
Pointer to a buffer to contain the data.
Size, in bytes, of the buffer pointed to by lpBuffer.
Pointer to a buffer that receives the number of bytes of data written in the buffer referenced by lpBuffer. This value can be NULL.
Pointer to a buffer that receives the number of samples written in the buffer referenced by lpBuffer. This value can be NULL.
Returns zero if successful or an error otherwise. Possible error values include the following.
|AVIERR_BUFFERTOOSMALL||The buffer size cbBuffer was smaller than a single sample of data.|
|AVIERR_MEMORY||There was not enough memory to complete the read operation.|
|AVIERR_FILEREAD||A disk error occurred while reading the file.|
If lpBuffer is NULL, this function does not read any data; it returns information about the size of data that would be read.
The argument pavi is a pointer to an IAVIStream interface.
** 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.