IInputByteStream::ReadArray: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 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-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае, если весь объем данных, заданный параметром *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). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000), результат последующих попыток считывания из потока на уровне абстракции [[IInputByteStream]] не определен.}} | {{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). При отмене данной операции в другом потоке возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_CANCELLED] (0x2417000f). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000), результат последующих попыток считывания из потока на уровне абстракции [[IInputByteStream]] не определен.}} | ||
{{function_end}} | {{function_end}} |
Версия 00:08, 31 июля 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). При отмене данной операции в другом потоке возвращается CHSVERROR_SUCCESS_CANCELLED (0x2417000f). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от CHSVERROR_SUCCESS (0x20000000), результат последующих попыток считывания из потока на уровне абстракции IInputByteStream не определен.