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 中返回的值指定。 其他可以更新当前位置的方法有 ReadBeginReadWriteSeekSetCurrentPosition

如果安装了 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

另请参阅

IMFByteStream