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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t Allocate(std::size_t cb, void** pAlloc) noexcept; |{{IAllocator::Allocate brief}}}} {{function_paramlist begin}} {{function_param…»)
 
 
Строка 1: Строка 1:
{{function_begin | return_code_t Allocate(std::size_t cb, void** pAlloc) noexcept; |{{IAllocator::Allocate brief}}}}
{{function_begin | return_code_t Allocate(std::size_t cb, void** pAlloc) noexcept; |{{IAllocator::Allocate brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|cb|.}}
{{function_paramlist add|cb|Требуемый объем выделенной памяти в байтах.}}
{{function_paramlist add|pAlloc|.|paramdir=[out]}}
{{function_paramlist add|pAlloc|Адрес, принимающий указатель на выделенную память.|paramdir=[out]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае нехватки памяти возвращается значение [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_OUTOFMEMORY]] (0xa4170001).}}
{{function_end}}
{{function_end}}
Освобождение памяти, выделенной с помощью данного метода, должно выполняться с помощью метода [[IAllocator::Free]], вызываемым над тем же экземпляром менеджера.

Текущая версия на 09:47, 6 августа 2017

 return_code_t Allocate(std::size_t cb, void** pAlloc) noexcept;

Выделяет память запрошенного объема.

Параметры
cbТребуемый объем выделенной памяти в байтах.
[out]pAllocАдрес, принимающий указатель на выделенную память.
Возвращаемое значение:
32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае нехватки памяти возвращается значение CHSVERROR_OUTOFMEMORY] (0xa4170001).

Освобождение памяти, выделенной с помощью данного метода, должно выполняться с помощью метода IAllocator::Free, вызываемым над тем же экземпляром менеджера.