IAVIStream::Read 方法 (vfw.h)
Read 方法从流中读取数据,并将其复制到应用程序定义的缓冲区。 如果未提供缓冲区,则确定检索下一个数据缓冲区所需的缓冲区大小。 在应用程序使用 AVIStreamRead 函数时调用。
语法
HRESULT Read(
LONG lStart,
LONG lSamples,
LPVOID lpBuffer,
LONG cbBuffer,
LONG *plBytes,
LONG *plSamples
);
参数
lStart
要读取的起始样本或帧编号。
lSamples
要读取的示例数。
lpBuffer
指向要包含流数据的应用程序定义缓冲区的指针。 还可以指定 NULL 来请求所需的缓冲区大小。 许多应用程序在每个读取操作之前都查询缓冲区大小,以查看需要多大的缓冲区。
cbBuffer
lpBuffer 指定的缓冲区的大小(以字节为单位)。
plBytes
指向接收读取的字节数的缓冲区的指针。
plSamples
指向接收读取的样本数的缓冲区的指针。
返回值
如果成功,则返回AVIERR_OK;如果缓冲区不够大,则返回AVIERR_BUFFERTOOSMALL以容纳数据。 如果成功, Read 还会返回包含) (样本的帧数的数据缓冲区,或者返回所需的缓冲区大小(以字节为单位)。
注解
对于用 C++ 编写的处理程序, Read 具有以下语法:
HRESULT Read(LONG lStart, LONG lSamples,
LPVOID lpBuffer, LONG cbBuffer,
LONG *plBytes, LONG *plSamples);
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | vfw.h |
Library | Vfw32.lib |