CreateInMemoryPreallocatedBinaryDataStorage: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{function_begin | return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, IInMemoryIO…») |
(Исправление для нулевого кода return_code_t и включение PLATFORM_NATIVE_CALLING_CONVENTION в интерфейсы.) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{function_begin | return_code_t CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, IAllocator* pAlloc, | {{function_begin | return_code_t PLATFORM_NATIVE_CALLING_CONVENTION CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, const IAllocator* pAlloc, IInMemoryDataStorage** 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-битовый | {{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.}} | ||
{{function_end}} | {{function_end}} |
Текущая версия на 00:59, 18 декабря 2017
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION CreateInMemoryPreallocatedBinaryDataStorage(void* pBuffer, std::size_t cbBuffer, bool fOwnBuffer, const IAllocator* pAlloc, IInMemoryDataStorage** ppDataStorage) noexcept;
Создает накопитель данных на основе заранее выделенного буфера памяти.
- Параметры
[in] pBuffer Используемый буфер памяти. cbBuffer Размер буфера pBuffer в байтах. fOwnBuffer Флаг переноса владения буфером. Если флаг сброшен, управление временем жизни буфера осуществляется клиентом функции. В этом случае параметр pAlloc игнорируется. Если же флаг установлен, владение буфером переносится на создаваемый накопитель данных. Такой накопитель при собственном уничтожении гарантированно освобождает буфер, используя предоставленный параметром pAlloc менеджер памяти или, если pAlloc установлен в NULL, менеджер, созданный с помощью функции CreateDefaultAllocator. [in] pAlloc Опционально задаваемый менеджер памяти, который используется при переноса владения буфером на создаваемый накопитель данных. Если параметр задан, накопитель вызывает его метод Clone и получает собственный экземпляр менеджера, т.е. клиент функции CreateInMemoryPreallocatedBinaryDataStorage остается ответственным за закрытие менеджера pAlloc. Если же параметр установлен в NULL, используется менеджер, возвращаемый функцией CreateDefaultAllocator. [out] ppDataStorage Указатель, который на выходе принимает адрес созданного экземпляра источника данных. В случае ошибки выходное значение устанавливается в 0 - Возвращаемое значение:
- 32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.