IInputByteStream::ReadArray

Материал из CAMaaS preliminary wiki
Версия от 18:24, 25 августа 2019; Андрей Чусов (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION ReadArray(void* pBuf, std::uint64_t* pcbRead) noexcept;

Считывает из потока массив байт.

Параметры
[out]pBufУказатель на буфер, принимающий массив. Объем буфера, доступный для записи, задается входным значением *pcbRead.
[in,out]pcbReadУказатель на 8-ми байтовый буфер, который на входе функции задает объем буфера pBuf. На выходе принимает объем записанных в буфер данных.
Возвращаемое значение:
32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае, если весь объем данных, заданный параметром *pcbRead, успешно считан, возвращается CHSVERROR_SUCCESS (0x20000000). Если в потоке имелось меньше данных, чем *pcbRead, возвращается CHSVERROR_SUCCESS_FALSE (0x20000001). При отмене данной операции в другом потоке выполнения возвращается CHSVERROR_SUCCESS_CANCELLED (0x2417000f). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от CHSVERROR_SUCCESS (0x20000000), результат последующих попыток считывания из потока на уровне абстракции IInputByteStream не определен.