IMFByteStream::BeginWrite 方法 (mfobjects.h)
开始对流的异步写入操作。
语法
HRESULT BeginWrite(
[in] const 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::EndWrite 来完成异步请求。
当异步写入仍处于挂起状态时,请勿重新分配、释放或写入缓冲区。
实现说明:此方法应更新流中的当前位置,方法是将写入到流的字节数添加到当前位置,该字节数由 在written 中返回的值指定。 其他可以更新当前位置的方法有 Read、 BeginRead、 Write、 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 |