Freigeben über


_aligned_msize_dbg

Gibt die Größe eines im Heap belegten Speicherblocks zurück (nur Debugversion).

size_t _aligned_msize_dbg(
   void *memblock,
   size_t alignment,
   size_t offset
);

Parameter

  • [in] memblock
    Zeiger zum Speicherblock.

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

  • [in] offset
    Der Offset in der Speicherbelegung zum Erzwingen der Ausrichtung.

Rückgabewert

Gibt die Größe (in Bytes) als ganze Zahl ohne Vorzeichen zurück.

Hinweise

Die alignment- und offset-Werte müssen mit den Werten identisch sein, die an die Funktion übergeben wurden, die den Speicherblock belegt hat.

_aligned_msize_dbg ist eine Debugversion der _aligned_msize-Funktion. Wenn _DEBUG nicht definiert ist, wird jeder Aufruf von _aligned_msize_dbg zu einem Aufruf von _aligned_msize reduziert. _aligned_msize und _aligned_msize_dbg berechnen die Größe eines Speicherblocks im Basisheap, jedoch fügt _aligned_msize_dbg eine Debugfunktionen hinzu: Es schließt die Puffer auf beiden Seiten des Benutzerteils des Speicherblocks in der zurückgegebenen Größe ein.

Diese Funktion überprüft seine Parameter. Wenn memblock ein NULL-Zeiger oder alignment keine Potenz von 2 ist, ruft _msize einen Handler für ungültige Parameter auf, wie in unter Parametervalidierung beschrieben. Wenn der Fehler behandelt wird, legt die Funktion errno auf EINVAL fest und gibt -1 zurück.

Informationen darüber, wie Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Details zum CRT-Debugheap. Weitere Informationen zu den Zuordnungsblocktypen und ihrer Verwendung finden Sie unter Blocktypen auf dem Debugheap. Weitere Informationen zu den Unterschieden zwischen dem Aufruf einer Standardheapfunktion und der Debugversion in einem Debugbuild einer Anwendung finden Sie unter Debugversionen von Heapreservierungsfunktionen.

Anforderungen

Routine

Erforderlicher Header

_aligned_msize_dbg

<crtdbg.h>

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

Bibliotheken

Nur Debugversionen von C-Laufzeitbibliotheken.

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Speicherbelegung