Метод 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 , совпадает с числом байтов, возвращаемых в pcbRead. |
S_FALSE | Значение, возвращаемое в pcbRead , меньше числа байтов, запрошенных в cb. Это означает, что достигнут конец потока. Число прочитанных байтов указывает, какая часть буфера pv была заполнена. |
E_PENDING | Только асинхронное хранилище. Часть или все считываемые данные в настоящее время недоступны. |
STG_E_ACCESSDENIED | Вызывающий объект не имеет разрешений, необходимых для чтения этого объекта потока. |
STG_E_INVALIDPOINTER | Одно из значений указателя является недопустимым. |
STG_E_REVERTED | Объект был признан недействительным в результате операции отменить изменения над ним в дереве транзакций. |
Комментарии
Этот метод считывает байты из этого объекта потока в память. Объект потока должен быть открыт в режиме STGM_READ . Этот метод корректирует указатель поиска на фактическое количество прочитанных байтов.
Количество фактических байтов также возвращается в параметре pcbRead .
Примечания к вызывающим абонентам
Фактическое число прочитанных байтов может быть меньше запрошенного числа байтов при возникновении ошибки или достижении конца потока во время операции чтения. Количество возвращаемых байтов всегда должно сравниваться с числом запрошенных байтов. Если количество возвращаемых байтов меньше запрошенного числа байтов, обычно это означает, что метод Read пытался прочитать данные после конца потока.Приложение должно обрабатывать как возвращенную ошибку, так и S_OK возвращаемые значения при операциях чтения в конце потока.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h |
Библиотека | Uuid.lib |
DLL | Ole32.dll |