AVIStreamRead 函数 (vfw.h)
AVIStreamRead 函数根据流类型从流中读取音频、视频或其他数据。
语法
HRESULT AVIStreamRead(
PAVISTREAM pavi,
LONG lStart,
LONG lSamples,
LPVOID lpBuffer,
LONG cbBuffer,
LONG *plBytes,
LONG *plSamples
);
参数
pavi
打开流的句柄。
lStart
要读取的第一个示例。
lSamples
要读取的示例数。 还可以指定值AVISTREAMREAD_CONVENIENT,让流处理程序确定要读取的样本数。
lpBuffer
指向包含数据的缓冲区的指针。
cbBuffer
lpBuffer 指向的缓冲区的大小(以字节为单位)。
plBytes
指向缓冲区的指针,该缓冲区接收 lpBuffer 引用的缓冲区中写入的数据的字节数。 此值可以为 NULL。
plSamples
指向缓冲区的指针,该缓冲区接收 lpBuffer 引用的缓冲区中写入的样本数。 此值可以为 NULL。
返回值
如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
缓冲区大小 cbBuffer 小于单个数据样本。 |
|
内存不足,无法完成读取操作。 |
|
读取文件时出现磁盘错误。 |
注解
如果 lpBuffer 为 NULL,则此函数不读取任何数据;它返回有关要读取的数据大小的信息。
参数 pavi 是指向 IAVIStream 接口的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | vfw.h |
Library | Vfw32.lib |
DLL | Avifil32.dll |