IMFByteStream::BeginRead 方法 (mfobjects.h)
从流开始异步读取操作。
语法
HRESULT BeginRead(
[in] BYTE *pb,
[in] ULONG cb,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
参数
[in] pb
指向接收数据的缓冲区的指针。 调用方必须分配缓冲区。
[in] cb
缓冲区的大小(以字节为单位)。
[in] pCallback
指向回调对象的 IMFAsyncCallback 接口的指针。 调用方必须实现此接口。
[in] punkState
指向状态对象的 IUnknown 接口的指针,由调用方定义。 此参数可以为 NULL。 可以使用此对象来保存状态信息。 调用回调时,对象将返回到调用方。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
将所有数据读入缓冲区后,将调用回调对象的 IMFAsyncCallback::Invoke 方法。 此时,应用程序应调用 IMFByteStream::EndRead 来完成异步请求。
异步读取处于挂起状态时,请勿读取、写入、释放或重新分配缓冲区。
实现说明:此方法应通过将要读取的字节数(由 在正确 读取参数中返回的值指定)添加到当前位置来更新流中的当前位置。 其他可以更新当前位置的方法有 BeginRead、 Write、 BeginWrite、 Seek 和 SetCurrentPosition。
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
- Windows XP with Service Pack 2 (SP2) 及更高版本。
- Windows XP Media Center Edition 2005 KB900325 (windows XP Media Center Edition 2005) 和KB925766 (2006 年 10 月 Windows XP Media Center Edition 更新汇总) 安装。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfobjects.h (包括 Mfidl.h) |
Library | Mfuuid.lib |