IInMemoryDataStorage::ReleaseBufferOwnership
Перейти к навигации
Перейти к поиску
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION ReleaseBufferOwnership(void** ppBuf, std::size_t* pcbBuf, IAllocator** ppAlloc) noexcept;
Возвращает управляемый накопителем буфер данных в памяти с передачей владения буфером клиенту.
- Параметры
[out] ppBuf Указатель, принимающий адрес буфера, которым до вызова управлял накопитель. Реализации могут возвращать nullptr, если они не владели буфером, например, если они ни содержали данных до вызова метода ReleaseBufferOwnership. В этом случае значение *pcbBuf на выходе будет равно нулю, а возвращенный адрес не должен подвергаться освобождению. [out] pcbBuf Опциональный указатель, который, если он не равен nullptr, принимает размер буфера, возвращаемого через ppBuf, в байтах. [out] ppAlloc Опциональный указатель, который принимает адрес менеджера памяти с интерфейсом IAllocator, который должен быть использован клиентом для освобождения буфера, возвращаемого через ppBuf, по окончанию использования. Указатель может быть равен nullptr, только при разделении используемого экземпляра менеджера памяти между клиентом и накопителем this: например, если накопитель this был создан в результате вызова функции CreateInMemoryPreallocatedBinaryDataStorage. - Возвращаемое значение:
- 32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.