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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, IInMemoryIO…»)
 
Строка 1: Строка 1:
{{function_begin | return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, IInMemoryIOBinaryData** ppDataStorage) noexcept; |{{CreateInMemoryPreallocatedBinaryDataStorage brief}}}}
{{function_begin | return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, IInMemoryIOBinaryData** ppDataStorage) noexcept; |{{CreateInMemoryPreallocatedBinaryDataStorage brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|pBuffer|.|paramdir=[in]}}
{{function_paramlist add|pBuffer|Используемый буфер памяти.|paramdir=[in]}}
{{function_paramlist add|cbBuffer|.}}
{{function_paramlist add|cbBuffer|Размер буфера <tt>pBuffer</tt> в байтах.}}
{{function_paramlist add|fOwnBuffer|.}}
{{function_paramlist add|fOwnBuffer|Флаг переноса владения буфером. Если флаг сброшен, управление временем жизни буфера осуществляется клиентом функции. В этом случае параметр <tt>pAlloc</tt> игнорируется. Если же флаг установлен, владение буфером переносится на создаваемый накопитель данных. Такой накопитель при собственном уничтожении гарантированно освобождает буфер, используя предоставленный параметром <tt>pAlloc</tt> менеджер памяти или, если <tt>pAlloc</tt> установлен в <tt>NULL</tt>, менеджер, созданный с помощью функции [[CreateDefaultAllocator]].}}
{{function_paramlist add|pAlloc|.|paramdir=[in]}}
{{function_paramlist add|pAlloc|Опционально задаваемый менеджер памяти, который используется при переноса владения буфером на создаваемый накопитель данных. Если параметр задан, накопитель вызывает его метод [[IAllocator::Clone|Clone]] и получает собственный экземпляр менеджера, т.е. клиент функции [[CreateInMemoryPreallocatedBinaryDataStorage]] остается ответственным за закрытие менеджера <tt>pAlloc</tt>. Если же параметр установлен в <tt>NULL</tt>, используется менеджер, возвращаемый функцией [[CreateDefaultAllocator]].|paramdir=[in]}}
{{function_paramlist add|ppDataStorage|.|paramdir=[out]}}
{{function_paramlist add|ppDataStorage|Указатель, который на выходе принимает адрес созданного экземпляра источника данных. В случае ошибки выходное значение устанавливается в 0|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_end}}
{{function_end}}

Версия 18:16, 16 марта 2017

 return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, IInMemoryIOBinaryData** ppDataStorage) noexcept;

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

Параметры
[in]pBufferИспользуемый буфер памяти.
cbBufferРазмер буфера pBuffer в байтах.
fOwnBufferФлаг переноса владения буфером. Если флаг сброшен, управление временем жизни буфера осуществляется клиентом функции. В этом случае параметр pAlloc игнорируется. Если же флаг установлен, владение буфером переносится на создаваемый накопитель данных. Такой накопитель при собственном уничтожении гарантированно освобождает буфер, используя предоставленный параметром pAlloc менеджер памяти или, если pAlloc установлен в NULL, менеджер, созданный с помощью функции CreateDefaultAllocator.
[in]pAllocОпционально задаваемый менеджер памяти, который используется при переноса владения буфером на создаваемый накопитель данных. Если параметр задан, накопитель вызывает его метод Clone и получает собственный экземпляр менеджера, т.е. клиент функции CreateInMemoryPreallocatedBinaryDataStorage остается ответственным за закрытие менеджера pAlloc. Если же параметр установлен в NULL, используется менеджер, возвращаемый функцией CreateDefaultAllocator.
[out]ppDataStorageУказатель, который на выходе принимает адрес созданного экземпляра источника данных. В случае ошибки выходное значение устанавливается в 0
Возвращаемое значение:
32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.