Freigeben über


_CrtDoForAllClientObjects

Zieht eine von der Anwendung bereitgestellte Funktion für alle Typen _CLIENT_BLOCK den Heap (nur Debugversion).

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

Parameter

  • pfn
    Zeiger auf die Rückruffunktion der von der Anwendung bereitgestellte Funktion.Der erste Parameter an diese Funktion zeigt auf die Daten.Der zweite Parameter ist der Kontextzeiger, der dem Aufruf von _CrtDoForAllClientObjectsübergeben wird.

  • context
    Zeiger auf den von der Anwendung bereitgestellt auf die von der Anwendung bereitgestellte Funktion zu übergebenden Kontext.

Hinweise

Die _CrtDoForAllClientObjects-Funktion durchsucht die verknüpfte Liste des Heaps für Speicherblöcke mit dem _CLIENT_BLOCK-Typ und ruft die von der Anwendung bereitgestellte Funktion auf, wenn ein Block dieses Typs gefunden wird.Der gesuchte - 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 Gruppe von Zuordnungen verfolgen, indem Sie explizit die Debugheapfunktionen aufruft, um den Arbeitsspeicher zuordnen. Das bedeutet, dass die _CLIENT_BLOCK-Blockformat Blöcke zugewiesen werden.Diese Blöcke können dann separat nachverfolgt werden und während des Speicherverlusterkennungs- und Speicherzustands an berichtens nicht gemeldet werden.

Wenn das _CRTDBG_ALLOC_MEM_DF Bitfeld des _crtDbgFlag keine Flags aktiviert ist, _CrtDoForAllClientObjects kehrt sofort zurück.Wenn _DEBUG nicht definiert wird, werden Aufrufe _CrtDoForAllClientObjects während des Präprozessorlaufs entfernt.

Weitere Informationen zu den _CLIENT_BLOCK-Typ und wie er von anderen Funktionen Debuggen verwendet werden kann, finden Sie unter Blocktypen auf dem Debugheap.Weitere Informationen zum Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap.

Wenn pfnNULLungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno, _doserrno, _sys_errlist und _sys_nerr zu EINVAL festgelegt, und die Funktion gibt zurück.

Anforderungen

Routine

Erforderlicher Header

_CrtDoForAllClientObjects

<crtdbg.h> und <errno.h>

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

Bibliotheken: Debugversionen von nur CRT-Bibliotheks-Funktionen .

Beispiel

Weitere Informationen finden Sie unter dfacobjs.

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Debug- Routinen

_CrtSetDbgFlag

_CrtReportBlockType

Konzepte

Berichtsfunktionen für den Heapzustand