_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 NULL
annimmt, wird der Handler für ungültige Parameter aufgerufen, wie in Parameter Validation. Wenn die Ausführung fortgesetzt werden darf, errno
wird _doserrno
_sys_errlist
sie 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