_aligned_offset_realloc_dbg
Změní velikost bloku paměti, která byla přidělena s _aligned_malloc nebo _aligned_offset_malloc (pouze verze ladění).
void * _aligned_offset_realloc_dbg( void *memblock, size_t size, size_t alignment, size_t offset, const char *filename, int linenumber );
Parametry
[v]memblock
Aktuální ukazatel bloku paměti.[v]size
Velikost přidělení paměti.[v]alignment
Hodnota zarovnání, která musí být mocninu 2.[v]offset
Posun do přidělení paměti k vynucení zarovnání.[v]filename
Ukazatel na název zdrojového souboru, který požádal aligned_offset_realloc operace nebo hodnota NULL.[v]linenumber
Číslo řádku na zdrojový soubor kde aligned_offset_realloc operace byla požadovaný nebo hodnota NULL.
Vrácená hodnota
_aligned_offset_realloc_dbgvrací neplatný ukazatel na blok paměti znovu přidělit (a případně přesouvat).Vrácená hodnota je NULL -li velikost je nula a argument vyrovnávací paměť není NULL, nebo pokud zde není k dispozici dostatek paměti pro rozbalení na danou velikost bloku.V prvním případě je uvolněno původní blok.Ve druhém případě je původní blok beze změny.Návratová hodnota odkazuje na místa, která je zaručeně vhodně zarovnávat pro úložiště jakéhokoli typu objektu.Chcete-li získat ukazatel na typ jiné než za neplatné použití typu přetypovat na návratovou hodnotu.
Poznámky
_aligned_offset_realloc_dbgje ladicí verze _aligned_offset_realloc funkce.Při _DEBUG není definována, každé volání _aligned_offset_realloc_dbg snižuje na volání _aligned_offset_realloc.Obě _aligned_offset_realloc a _aligned_offset_realloc_dbg přidělení paměti bloku základní haldy, ale _aligned_offset_realloc_dbg bude vyhovovat několik funkce ladění: ve vyrovnávací paměti na obou stranách část bloku k testování problémů s nevracením paměti, parametr typu block sledování konkrétní přidělení typů s uživatelským a filename/linenumber informace k určení původu požadavky na přidělení.
Podobně jako _aligned_offset_malloc, _aligned_offset_realloc_dbg umožňuje strukturu k zarovnávat na posun v rámci struktury.
_realloc_dbgreallocates určenou paměť bloku s mírně více místa, než požadovaný newSize.newSizemůže být větší nebo menší než velikost bloku původně přidělené paměti.Další místo se používá haldy správcem ladění propojit bloky paměti ladění a k poskytování aplikací s informacemi hlavičky a ladění a přepsat vyrovnávací paměti.Rozdělení může být výsledkem přesun původní bloku paměti do jiného umístění haldy, jakož i změny velikosti bloku paměti.Pokud je přesunut blok paměti, budou přepsány obsah původní blok.
Tato funkce nastaví errno k ENOMEM Pokud přidělení paměti se nezdařilo nebo pokud byla větší než požadovaná velikost _HEAP_MAXREQ.Další informace o objektu errno získáte v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.Také _aligned_offset_realloc_dbg ověří jejích parametrů.Pokud alignment není násobkem 2 nebo, pokud offset je větší než nebo rovno size a nenulový, tato funkce vyvolá obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametru.Pokud je povolena provádění chcete-li pokračovat, vrátí tato funkce NULL a nastaví errno k EINVAL.
Informace o způsobu jsou bloky paměti přidělené, inicializován a správy v ladicí verze základní haldy, naleznete v části Podrobnosti haldy ladění CRT.Informace o typech bloku přidělení a způsobu jejich použití naleznete v tématu typy bloky haldy ladění.Informace o rozdílech mezi volání funkce standardní haldy a jeho ladicí verze v sestavení ladicí verze aplikace naleznete v tématu Ladění verzí funkcí přidělení haldy.
Požadavky
Rutina |
Požadovaný hlavičkový soubor |
---|---|
_aligned_offset_realloc_dbg |
< crtdbg.h > |
Další informace o kompatibilitě, podívejte se na téma kompatibility v zavedení.
Knihovny
Ladicí verze knihoven C run-time pouze.
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu příklady vyvolat platformy.