IInputByteStream::ReadArray: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 4: Строка 4:
{{function_paramlist add|pcbRead|Указатель на 8-ми байтовый буфер, который на входе функции задает объем буфера <tt>pBuf</tt>. На выходе принимает объем записанных в буфер данных.|paramdir=[in,out]}}
{{function_paramlist add|pcbRead|Указатель на 8-ми байтовый буфер, который на входе функции задает объем буфера <tt>pBuf</tt>. На выходе принимает объем записанных в буфер данных.|paramdir=[in,out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае, если весь объем данных, заданный параметром *pcbRead, успешно считан, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000). Если в потоке имелось меньше данных, чем *pcbRead, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_FALSE] (0x20000001). В этом случае результат последующих попыток считывания из потока на уровне абстракции [[IInputByteStream]] не определен.}}
{{function_end}}
{{function_end}}

Версия 18:19, 1 мая 2017

 return_code_t ReadArray(void* pBuf, std::uint64_t* pcbRead) const noexcept;

Считывает из потока один элемент.

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