IInMemoryDataStorage::GetPtr: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t GetPtr( _Post_bytecount_(*pcbBuffer) void** ppBuffer, std::size_t* pcbBuffer) const noexcept; |{{IInMemoryDataStorage::GetPt…»)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{function_begin | return_code_t GetPtr(
{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION GetPtr(void** ppBuffer, std::size_t* pcbBuffer) noexcept; |{{IInMemoryDataStorage::GetPtr brief}}}}
  _Post_bytecount_(*pcbBuffer) void** ppBuffer, std::size_t* pcbBuffer) const noexcept; |{{IInMemoryDataStorage::GetPtr brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|ppBuffer|.|paramdir=[out]}}
{{function_paramlist add|ppBuffer|В результате успешного выполнения функции получает адрес буфера памяти, управляемого накопителем.|paramdir=[out]}}
{{function_paramlist add|pcbBuffer|.|paramdir=[out]}}
{{function_paramlist add|pcbBuffer|Опциональный указатель, который принимает байтовый размер буфера {{param|*ppBuffer}}. Клиенту разрешено адресовать и осуществлять чтение и запись в буфер <tt>[(uint8_t) *ppBuffer, (uint8_t) *ppBuffer + *pcbBuffer)</tt> при условии соблюдения им ограничений, налагаемых реализацией на совместный ввод-вывод, если он осуществляется клиентом. Выходное значение параметра {{param|pcbBuffer}} не является длиной фактически имеющихся данных в буфере, часть буфера  может быть неинициализирована. Для получения размера данных в накопителе требуется использовать методы [[IContiguousDataStorage::GetByteSize|GetByteSize]] и [[IContiguousDataStorage::GetElementCount|GetElementCount]], наследуемые у интерфейса [[IContiguousDataStorage]].|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_end}}
{{function_end}}

Текущая версия на 23:31, 16 августа 2019

return_code_t PLATFORM_NATIVE_CALLING_CONVENTION GetPtr(void** ppBuffer, std::size_t* pcbBuffer) noexcept;

Возвращает адрес управляемого накопителем буфера данных в памяти.

Параметры
[out]ppBufferВ результате успешного выполнения функции получает адрес буфера памяти, управляемого накопителем.
[out]pcbBufferОпциональный указатель, который принимает байтовый размер буфера *ppBuffer. Клиенту разрешено адресовать и осуществлять чтение и запись в буфер [(uint8_t) *ppBuffer, (uint8_t) *ppBuffer + *pcbBuffer) при условии соблюдения им ограничений, налагаемых реализацией на совместный ввод-вывод, если он осуществляется клиентом. Выходное значение параметра pcbBuffer не является длиной фактически имеющихся данных в буфере, часть буфера может быть неинициализирована. Для получения размера данных в накопителе требуется использовать методы GetByteSize и GetElementCount, наследуемые у интерфейса IContiguousDataStorage.
Возвращаемое значение:
32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.