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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t ReleaseBufferOwnership( _Post_bytecount_(*pcBuf) void** ppBuf, std::size_t* pcbBuf, IAllocator** ppAlloc) const noexcept; |{…»)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{function_begin | return_code_t ReleaseBufferOwnership(
{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION ReleaseBufferOwnership(void** ppBuf, std::size_t* pcbBuf, IAllocator** ppAlloc) noexcept;|{{IInMemoryDataStorage::ReleaseBufferOwnership brief}}}}
_Post_bytecount_(*pcBuf) void** ppBuf, std::size_t* pcbBuf, IAllocator** ppAlloc) const noexcept; |{{IInMemoryDataStorage::ReleaseBufferOwnership brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|ppBuf|.|paramdir=[out]}}
{{function_paramlist add|ppBuf|Указатель, принимающий адрес буфера, которым до вызова управлял накопитель. Реализации могут возвращать {{cpp_nullptr}}, если они не владели буфером, например, если они ни содержали данных до вызова метода [[IInMemoryDataStorage::ReleaseBufferOwnership|ReleaseBufferOwnership]]. В этом случае значение {{param|*pcbBuf}} на выходе будет равно нулю, а возвращенный адрес не должен подвергаться освобождению.|paramdir=[out]}}
{{function_paramlist add|pcbBuf|.|paramdir=[out]}}
{{function_paramlist add|pcbBuf|Опциональный указатель, который, если он не равен {{cpp_nullptr}}, принимает размер буфера, возвращаемого через {{param|ppBuf}}, в байтах.|paramdir=[out]}}
{{function_paramlist add|ppAlloc|.|paramdir=[out]}}
{{function_paramlist add|ppAlloc|Опциональный указатель, который принимает адрес менеджера памяти с интерфейсом [[IAllocator]], который должен быть использован клиентом для освобождения буфера, возвращаемого через {{param|ppBuf}}, по окончанию использования. Указатель может быть равен {{cpp_nullptr}}, только при разделении используемого экземпляра менеджера памяти между клиентом и накопителем {{cpp_this}}: например, если накопитель {{cpp_this}} был создан в результате вызова функции [[CreateInMemoryPreallocatedBinaryDataStorage]].|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_end}}
{{function_end}}

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

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