_aligned_offset_realloc

Ändert die Größe eines Speicherblocks, der _aligned_malloc oder _aligned_offset_malloczugeordnet wurde.

void * _aligned_offset_realloc(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset
);

Parameter

  • memblock
    Der aktuelle Zeiger Speicherblock.

  • size
    Die Größe der Speicherbelegung.

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

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

Rückgabewert

_aligned_offset_realloc 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.

_aligned_offset_realloc ist als __declspec(noalias) und **__declspec(restrict)**und bedeutet, dass die Funktion nicht garantiert globale Variablen ändern und dass der zurückgegebene Zeiger nicht mit einem Alias versehene.Weitere Informationen finden Sie unter noalias und Beschränken Sie ein.

Hinweise

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

_aligned_offset_realloc basiert auf malloc.Weitere Informationen zur Verwendung von _aligned_offset_mallocfinden Sie unter malloc.Wenn memblockNULL, ist die Funktion _aligned_offset_malloc intern.

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 ü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

Anforderungen

Routine

Erforderlicher Header

_aligned_offset_realloc

<malloc.h>

Beispiel

Weitere Informationen finden Sie unter _aligned_malloc.

Siehe auch

Referenz

Datenausrichtung