_aligned_recalloc
Изменяет размер блока памяти, выбрав с _aligned_malloc OR _aligned_offset_malloc и инициализирует память до 0.
void * _aligned_recalloc(
void *memblock,
size_t num,
size_t size,
size_t alignment
);
Параметры
[входящий] memblock
Текущий указатель блока памяти.[входящий] num
Количество элементов.[входящий] size
Размер в байтах каждого элемента.[входящий] alignment
Значение выравнивания, которое должно быть мощью целого числа 2.
Возвращаемое значение
_aligned_recalloc возвращает пустой указатель на reallocated (и, возможно, перемещена) блок памяти.Возвращаемое значение NULL если размер равен нулю, а аргумент буфера нет NULLили, если недостаточно свободной памяти, чтобы развернуть блок в заданный размер.В первом случае освобождается исходный блок.Во втором случае исходный блок не изменяется.Указывает возвращаемого значения к объему хранения, который гарантированно подходяще выравниваются для хранения любого типа объекта.Для получения указателя на тип, отличный от свободного пространства, используйте приведение типов в возвращаемом значении.
Ошибка для reallocate память и изменить выравнивание блока.
Заметки
_aligned_recalloc находит on malloc.Дополнительные сведения об использовании _aligned_offset_mallocсм. malloc.
Эта функция устанавливает errno В ENOMEM, если выделение памяти не удалось или если запрошенный размер был больше _HEAP_MAXREQ.Дополнительные сведения о errno см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.Кроме того, _aligned_recalloc проверяет параметры.If alignment не является степенью числа 2, эта функция вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эта функция возвращает NULL и наборы errno В EINVAL.
Требования
Процедура |
Обязательный заголовок |
---|---|
_aligned_recalloc |
<malloc.h> |
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.