ILockBytes::ReadAt 方法 (objidl.h)

ReadAt 方法从字节数组对象开头的指定偏移量开始读取指定数量的字节。

语法

HRESULT ReadAt(
  [in]  ULARGE_INTEGER ulOffset,
  [in]  void           *pv,
  [in]  ULONG          cb,
  [out] ULONG          *pcbRead
);

参数

[in] ulOffset

指定用于读取数据的字节数组开头的起点。

[in] pv

指向读取字节数组的缓冲区的指针。 此缓冲区的大小包含在 cb 中。

[in] cb

指定要尝试从字节数组读取的数据字节数。

[out] pcbRead

指向 ULONG 的指针,此方法在其中写入从字节数组读取的实际字节数。 可以将此指针设置为 NULL ,以指示你对此值不感兴趣。 在这种情况下,此方法不提供已读取的实际字节数。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK 指示读取了指定的字节数,或读取到字节数组末尾的最大字节数。
E_FAIL 无法从字节数组读取数据。
E_PENDING 仅限异步存储:要读取的部分或全部数据当前不可用。
STG_E_ACCESSDENIED 调用方无权访问字节数组。
STG_E_READFAULT 要读取的字节数不等于实际读取的字节数。

注解

ILockBytes::ReadAt 从字节数组对象读取字节。 它报告实际读取的字节数。 如果发生错误或在读取期间到达字节数组的末尾,则此值可能小于请求的字节数。

如果操作遇到字节数组的末尾,读取的字节数小于指定的字节数不会出错。 请注意,这与 MS-DOS 文件分配表 (FAT) 文件系统文件中找到的文件结尾行为相同。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 objidl.h
Library Uuid.lib
DLL Ole32.dll

另请参阅

ILockBytes - File-Based 实现

ILockBytes - 全局内存实现

ILockBytes::WriteAt