ISequentialStream::Read 方法 (objidl.h)
Read 方法从当前搜寻指针开始,将指定数量的字节从流对象读取到内存中。
语法
HRESULT Read(
[out] void *pv,
[in] ULONG cb,
[out] ULONG *pcbRead
);
参数
[out] pv
指向要读取流数据的缓冲区的指针。
[in] cb
要从流对象读取的数据的字节数。
[out] pcbRead
指向 ULONG 变量的指针,该变量接收从流对象读取的实际字节数。
注意 读取的字节数可以为零。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
S_OK | 已成功从流对象读取所有请求的数据; cb 中请求的字节数与 在读中返回的字节数相同。 |
S_FALSE | 在 cbRead 中返回的值小于 cb 中请求的字节数。 这表示已到达流的末尾。 读取的字节数指示已填充 pv 缓冲区的量。 |
E_PENDING | 仅异步存储:部分或全部要读取的数据当前不可用。 |
STG_E_ACCESSDENIED | 调用方没有读取此流对象所需的权限。 |
STG_E_INVALIDPOINTER | 其中一个指针值无效。 |
STG_E_REVERTED | 对象在事务树中的上方还原操作已失效。 |
注解
此方法将字节从此流对象读取到内存中。 必须在 STGM_READ 模式下打开流对象。 此方法按读取的实际字节数调整搜寻指针。
实际读取的字节数也会在 读 参数中返回。
给调用方的说明
如果发生错误或在读取操作期间到达流的末尾,则实际读取的字节数可能小于请求的字节数。 应始终将返回的字节数与请求的字节数进行比较。 如果返回的字节数小于请求的字节数,则通常表示 Read 方法尝试读取流末尾之后的读取。应用程序应处理返回的错误和 S_OK 流结束读取操作的返回值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | objidl.h |
Library | Uuid.lib |
DLL | Ole32.dll |