CreateInMemoryPreallocatedBinaryDataStorage
Перейти к навигации
Перейти к поиску
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-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.