_aligned_recalloc
Zmienia rozmiar bloku pamięci, która została przydzielona z _aligned_malloc lub _aligned_offset_malloc i inicjalizuje pamięć na 0.
void * _aligned_recalloc(
void *memblock,
size_t num,
size_t size,
size_t alignment
);
Parametry
[w]memblock
Bieżący wskaźnik bloku pamięci.[w]num
Liczba elementów.[w]size
Rozmiar w bajtach każdego elementu.[w]alignment
Wartość wyrównania musi być całkowitą potęgą liczby 2.
Wartość zwracana
_aligned_recallocZwraca void wskaźnik do bloku pamięci reallocated (i ewentualnie przeniesiony).Zwracana jest wartość NULL , jeśli rozmiar jest zero, a argument bufor nie jest NULL, lub jeśli jest za mało dostępnej pamięci, aby rozwinąć bloku do podanego rozmiaru.W pierwszym przypadku oryginalnego bloku jest zwalniana.W drugim przypadku oryginalnego bloku jest bez zmian.Zwracana wartość wskazuje miejsce w magazynie jest gwarantowane zostały odpowiednio dostosowane do przechowywania dowolnego typu obiektu.Aby uzyskać wskaźnika typu innego niż void, typ, oddanych na wartości zwracanej.
Jest błędem do ponownego przydzielenia pamięci i zmienić wyrównanie bloku.
Uwagi
_aligned_recallocjest oparta na malloc.Aby uzyskać więcej informacji na temat za pomocą _aligned_offset_malloc, zobacz malloc.
Ta funkcja ustawia errno do ENOMEM czy alokacja pamięci nie powiodła się, czy żądany rozmiar był większy niż _HEAP_MAXREQ.Aby uzyskać więcej informacji o errno, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.Ponadto _aligned_recalloc sprawdza poprawność jego parametry.Jeśli alignment nie jest potęgą 2, funkcja ta wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie mogą w dalszym ciągu, funkcja ta zwraca NULL i ustawia errno do EINVAL.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_aligned_recalloc |
<malloc.h> |
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.