_CrtDoForAllClientObjects

 

Date de publication : novembre 2016

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

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

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.

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 champ de bits _CRTDBG_ALLOC_MEM_DF de l’indicateur _crtDbgFlag n’est pas activé, _CrtDoForAllClientObjects se termine 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, voir CRT Debug Heap Details.

Si pfn est 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 à se poursuivre, errno, _doserrno, _sys_errlist et _sys_nerr est défini sur EINVAL et la fonction retourne.

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

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

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

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

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

Afficher: