IStreamAsync::WriteAsync 方法 (shobjidl.h)

以异步方式将信息写入流。 例如,Shell 在异步传输文件项时对文件项实现此方法。

语法

HRESULT WriteAsync(
  [in]  const void   *lpBuffer,
  [in]  DWORD        cb,
  [out] LPDWORD      pcbWritten,
  [in]  LPOVERLAPPED lpOverlapped
);

参数

[in] lpBuffer

类型: const void*

指向 cb 字节大小的缓冲区的指针,该缓冲区包含要写入流的信息。

[in] cb

类型:DWORD

lpBuffer 指向的缓冲区的大小(以字节为单位)。

[out] pcbWritten

类型: LPDWORD

指向 DWORD 值的指针,当方法成功返回时,该值表示写入流的实际字节数。 如果不需要此信息,此值可以为 NULL

[in] lpOverlapped

类型: LPOVERLAPPED

指向 OVERLAPPED 结构的指针,该结构包含异步写入操作中使用的信息。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

WriteAsync 应在开始输入/输出时将 OVERLAPPED 结构的 hEvent 成员指定的事件重置为非对齐状态, (I/O) 操作。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl.h