Freigeben über


_aligned_offset_realloc_dbg

Ändert die Größe eines Speicherblocks, der _aligned_malloc (nur _aligned_offset_malloc oder Debugversion) belegt wurde.

void * _aligned_offset_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber 
);

Parameter

  • [in] memblock
    Der aktuelle Zeiger Speicherblock.

  • [in] size
    Die Größe der Speicherbelegung.

  • [in] alignment
    Der Ausrichtungswert, der eine integrale Potenz von 2 sein muss.

  • [in] offset
    Der Offset in die Speicherbelegung, um die Ausrichtung zu erzwingen.

  • [in] filename
    Ein Zeiger auf den Namen der Quelldatei, die den angeforderten Vorgang aligned_offset_realloc oder NULL.

  • [in] linenumber
    Zeilennummer in der Quelldatei, in der der angeforderte Vorgang aligned_offset_realloc oder NULL war.

Rückgabewert

_aligned_offset_realloc_dbg gibt einen void-Zeiger auf den neu zugeteilten (und ggf. verschoben) Speicherblock zurück.Der Rückgabewert ist NULL , wenn die Größe des Puffers - Argument ist und nicht NULList oder wenn nicht genügend verfügbaren Arbeitsspeicher vorhanden ist, um die angegebene Größe des Blocks zu erweitern.Im ersten Fall wird der ursprüngliche Block freigegeben.Im zweiten Fall ist der ursprüngliche Block unverändert.Der Rückgabewert zeigt auf ein garantiert der Speicherplatz zum Speichern eines beliebigen Typs Objekt ordnungsgemäß ausgerichtet werden soll.Um einen Zeiger auf einen anderen Typ als void abzurufen, verwenden Sie eine Typumwandlung im Rückgabewert.

Hinweise

_aligned_offset_realloc_dbg ist eine Debugversion der _aligned_offset_realloc-Funktion.Wenn _DEBUG nicht definiert ist, wird jeder Aufruf von _aligned_offset_realloc_dbg in einen Aufruf des _aligned_offset_reallocreduziert._aligned_offset_realloc und teilen _aligned_offset_realloc_dbg Basisheap einen Speicherblock im neu zu _aligned_offset_realloc_dbg bringt jedoch einige Debugfunktionen unter: Puffer auf beiden Seiten des Benutzers zu einem Teil des Verlusten Parameter Blockformat, um bestimmte Typen von Zuordnungen zu verfolgen und filename/linenumber Informationen zu testen, Blocks um den Ursprung Zuordnung von Anforderungen zu bestimmen.

Wie _aligned_offset_mallocermöglicht eine _aligned_offset_realloc_dbg bei einem Offset innerhalb der Struktur angeordnet sein - Struktur.

_realloc_dbg weist den angegebenen Speicherblock mit etwas mehr Platz als angeforderte newSizeneu.newSize ist möglicherweise größer oder kleiner als die Größe des ursprünglich belegten Speicherblocks.Das zusätzliche Speicherplatz wird vom Debugheap Manager, um die Programmdebuginformationen Speicherblöcke zu verknüpfen und die Anwendung bereitzustellen und Debuggen mit Headerinformationen Puffer zu überschreiben.Die ergäbe Neuzuordnung kann das Verschieben des ursprünglichen Speicherblocks an einen anderen Speicherort im Heap als auch beim Ändern der Größe des Speicherblocks.Wenn der Speicherblock verschoben wird, wird der Inhalt des ursprünglichen Blocks überschrieben.

Diese Funktion legt errno zu ENOMEM wenn die Speicherbelegung fehlgeschlagen fest oder wenn die angeforderte Größe größer als _HEAP_MAXREQwar.Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.Außerdem _aligned_offset_realloc_dbg überprüft seine Parameter.Wenn keine alignment Potenz von 2 ist oder wenn offset größer oder gleich size und Wert ungleich 0 (null) ist, Aufrufe dieser Funktion der ungültige Parameter für, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt diese Funktion NULL zurück und legt ihn fest. EINVALzu errno

Weitere Informationen zum Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap.Weitere Informationen zu den Typen von Zuordnungen blocks und wie diese verwendet werden, finden Sie unter Blocktypen auf dem Debugheap.Weitere Informationen über die Unterschiede zwischen den Aufrufen einer Funktion und ihrer heap Standard in einem Debugbuild Debugversion einer Anwendung finden Sie unter Verwenden der Debugversion für die Grundversion.

Anforderungen

Routine

Erforderlicher Header

_aligned_offset_realloc_dbg

<crtdbg.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Bibliotheken

Debugversionen von nur C .

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Debug- Routinen