_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_errlist
et est définie EINVAL
sur et _sys_nerr
la 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