Partager via


_CrtDoForAllClientObjects

Appelle une fonction fournie par l'application pour tous les types _CLIENT_BLOCK du tas (version de débogage uniquement).

Syntaxe

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

Paramètres

pfn
Pointeur vers la fonction de rappel de la fonction fournie par l'application. Le premier paramètre de cette fonction pointe vers les données. Le second paramètre est le pointeur de contexte qui est passé à l'appel à _CrtDoForAllClientObjects.

context
Pointeur vers le contexte fourni par l'application à passer à la fonction fournie par l'application.

Notes

La fonction _CrtDoForAllClientObjects recherche dans la liste liée du tas des blocs de mémoire avec le type _CLIENT_BLOCK et appelle la fonction fournie par l'application quand un bloc de ce type est trouvé. Le bloc trouvé et le paramètre context sont passés comme arguments à la fonction fournie par l'application. Pendant le débogage, une application peut effectuer le suivi d'un groupe spécifique d'allocations en appelant de façon explicite les fonctions du tas de débogage pour allouer la mémoire et en indiquant que le type de bloc _CLIENT_BLOCK doit être affecté aux blocs. Il est alors possible d'assurer le suivi de ces blocs séparément ainsi que de créer des rapports correspondants différents pendant la création de rapports sur la détection des fuites et l'état de la mémoire.

Si le _CRTDBG_ALLOC_MEM_DF champ de bits de l’indicateur _crtDbgFlag n’est pas activé, _CrtDoForAllClientObjects retourne immédiatement. Quand _DEBUG n’est pas défini, les appels à _CrtDoForAllClientObjects sont supprimés lors du prétraitement.

Pour plus d’informations sur le type _CLIENT_BLOCK et la façon dont il peut être utilisé par d’autres fonctions de débogage, consultez Types of blocks on the debug heap. Pour plus d’informations sur la façon dont les blocs de mémoire sont alloués, initialisés et gérés dans la version de débogage du tas de base, consultez les détails du tas de débogage CRT.

Si pfn a la valeur NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l’exécution est autorisée à continuer, errno, _doserrno, _sys_errlistet est définie EINVAL sur et _sys_nerrla fonction retourne.

Spécifications

Routine En-tête requis
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques : uniquement les versions de débogage des bibliothèques Runtime C.

Voir aussi

Routines de débogage
_CrtSetDbgFlag
Fonctions de création de rapports d’état de tas
_CrtReportBlockType