Freigeben über


_aligned_offset_recalloc

Ändert die Größe eines Speicherblocks, der _aligned_malloc oder _aligned_offset_malloc zugeordnet wurde, und initialisiert den Arbeitsspeicher bis 0.

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

Parameter

  • memblock
    Der aktuelle Zeiger Speicherblock.

  • num
    Anzahl von Elementen.

  • size
    Länge in Byte) der einzelnen Elemente.

  • 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_recalloc 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_recalloc 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_recalloc bei einem Offset innerhalb der Struktur angeordnet sein - Struktur.

_aligned_offset_recalloc 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 (num * size) größer als _HEAP_MAXREQwar.Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.Außerdem _aligned_offset_recalloc überprüft seine Parameter.Wenn keine alignment Potenz von 2 ist oder wenn offset größer oder gleich der angeforderten Größe 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_recalloc

<malloc.h>

.NET Framework-Entsprechung

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

Siehe auch

Referenz

Datenausrichtung

_recalloc

_aligned_recalloc