Sdílet prostřednictvím


_aligned_offset_recalloc

Změní velikost bloku paměti, která byla přidělena s _aligned_malloc nebo _aligned_offset_malloc a inicializuje paměť na 0.

void * _aligned_offset_recalloc(
   void *memblock, 
   size_t num, 
   size_t size, 
   size_t alignment,
   size_t offset
);

Parametry

  • memblock
    Aktuální ukazatel bloku paměti.

  • num
    Počet prvků.

  • size
    Délka v bajtech každý prvek.

  • alignment
    Hodnota zarovnání musí být celočíselná mocnina 2.

  • offset
    Posun do přidělení paměti vynutit zarovnání.

Vrácená hodnota

_aligned_offset_recallocNeplatný ukazatel vrátí do bloku paměti reallocated (a případně přesunutý).Vrácená hodnota je NULL -li velikost je nula a argument vyrovnávací paměti není NULL, nebo pokud není k dispozici dostatek paměti rozbalit do dané velikosti bloku.V prvním případě původní blok uvolněno.V druhém případě se nemění původní blok.Vrácená hodnota odkazuje na úložný prostor, který je zaručeně vhodně zarovnání pro skladování jakýkoli typ objektu.Získání ukazatele typu void, použití než typ odevzdaných na vrácenou hodnotu.

_aligned_offset_recallocje označena __declspec(noalias) a __declspec(restrict), což znamená, že funkce je zaručena upravit globální proměnné, vrácený ukazatel není s aliasem.Další informace naleznete v noalias a omezit.

Poznámky

Jako _aligned_offset_malloc, _aligned_offset_recalloc umožňuje struktury k zarovnání posunem v rámci struktury.

_aligned_offset_recallocje založena na malloc.Další informace o použití _aligned_offset_malloc, viz malloc.Pokud memblock je NULL, volání funkce _aligned_offset_malloc interně.

Tato funkce nastaví errno na ENOMEM Pokud přidělení paměti se nezdařilo nebo na požadovanou velikost (num * size) byla větší než _HEAP_MAXREQ.Pro více informací o errno si prohlédněte Kód chyby, _doserrno, _sys_errlist a _sys_nerr.Také _aligned_offset_recalloc ověřuje jeho parametry.Pokud alignment není napájení 2 nebo pokud offset je větší než nebo rovno na požadovanou velikost a nenulová, vyvolá popisovač neplatný parametr této funkce popsané v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí funkce hodnotu NULL a errno na EINVAL.

Požadavky

Rutina

Požadované záhlaví

_aligned_offset_recalloc

<malloc.h>

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Zarovnání dat

_recalloc

_aligned_recalloc