IStreamAsync::ReadAsync 方法 (shobjidl.h)
以异步方式从流中读取信息。 例如,Shell 在异步传输文件项时对文件项实现此接口。
语法
HRESULT ReadAsync(
[out] void *pv,
[in] DWORD cb,
[out, optional] LPDWORD pcbRead,
[in] LPOVERLAPPED lpOverlapped
);
参数
[out] pv
类型: void*
此方法成功返回时,返回一个 长度为 cb 字节的缓冲区,并包含读取操作中信息的 印刷板Read 字节。
[in] cb
类型:DWORD
要从流中读取的字节数。
[out, optional] pcbRead
类型: LPDWORD
指向 DWORD 值的指针,当此方法成功返回时,该值将声明读取到 pv 指向的缓冲区的实际字节数。 此值可以为 NULL。
[in] lpOverlapped
类型: LPOVERLAPPED
指向 OVERLAPPED 结构的指针,该结构包含异步读取操作中使用的信息。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
IStreamAsync::ReadAsync 应在开始输入/输出时将 OVERLAPPED 结构的 hEvent 成员指定的事件重置为非对齐状态, (I/O) 操作。
此方法已在 Shell 中作为围绕公共 ReadFile API 的精简包装器实现。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl.h |