Поделиться через


Метод 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
Header objidl.h
Библиотека Uuid.lib
DLL Ole32.dll

См. также раздел

ILockBytes — реализация File-Based

ILockBytes — реализация глобальной памяти

ILockBytes::WriteAt