Freigeben über


_CrtDoForAllClientObjects

Ruft eine von der Anwendung bereitgestellte Funktion für alle _CLIENT_BLOCK -Typen im Heap auf (nur Debugversion).

Syntax

void _CrtDoForAllClientObjects(
   void ( * pfn )( void *, void * ),
   void *context
);

Parameter

pfn
Zeiger zu der von der Anwendung bereitgestellten Rückruffunktion. Der erste Parameter für diese Funktion zeigt auf die Daten. Der zweite Parameter ist der Kontextzeiger, der an den Aufruf von _CrtDoForAllClientObjectsübergeben wird.

context
Zeiger zu dem von der Anwendung bereitgestellten Kontext, um die von der Anwendung bereitgestellten Funktion zu übergeben.

Hinweise

Die _CrtDoForAllClientObjects -Funktion sucht die verknüpfte Liste des Heaps für Speicherblöcke im _CLIENT_BLOCK -Typ und ruft die von der Anwendung bereitgestellte Funktion auf, wenn ein Block dieses Typs gefunden wird. Der gefundene Block und der context -Parameter werden als Argumente an die von der Anwendung bereitgestellte Funktion übergeben. Während des Debuggens kann eine Anwendung eine bestimmte Zuordnungsgruppe nachverfolgen, indem sie die Debugheapfunktionen explizit zum Belegen des Speichers aufruft und angibt, dass den Blöcken der _CLIENT_BLOCK -Blocktyp zugewiesen wird. Diese Blöcke können dann einzeln nachverfolgt und während der Erkennung von Speicherverlusten und der Berichterstellung von Speicherzuständen unterschiedlich übermittelt werden.

Wenn das _CRTDBG_ALLOC_MEM_DF Bitfeld der _crtDbgFlag Kennzeichnung nicht aktiviert ist, _CrtDoForAllClientObjects wird sofort zurückgegeben. Wenn _DEBUG nicht definiert ist, werden Aufrufe von _CrtDoForAllClientObjects während der Vorverarbeitung entfernt.

Weitere Informationen zum _CLIENT_BLOCK -Typ und zu seiner Verwendung durch andere Debugfunktionen finden Sie unter Types of blocks on the debug heapübergeben wird. Informationen dazu, wie Speicherblöcke in der Debugversion des Basis heap zugeordnet, initialisiert und verwaltet werden, finden Sie unter CRT Debug Heap Details.

Wenn pfn den Wert NULLannimmt, wird der Handler für ungültige Parameter aufgerufen, wie in Parameter Validation. Wenn die Ausführung fortgesetzt werden darf, errnowird _doserrno_sys_errlistsie festgelegt EINVAL und _sys_nerr die Funktion zurückgegeben.

Anforderungen

Routine Erforderlicher Header
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Bibliotheken: Nur Debugversionen von C-Laufzeitbibliotheken.

Siehe auch

Debugroutinen
_CrtSetDbgFlag
Heap-Statusberichtsfunktionen
_CrtReportBlockType