Partager via


AfxDoForAllObjects

Exécute la fonction d'itération spécifiée pour tous les objets dérivés d'CObject qui ont été allouée à new.

void AfxDoForAllObjects( 
   void (*pfn 
)(CObject* pObject, 
   void* pContext 
), 
   void* pContext  
);

Paramètres

  • pfn
    Pointe sur une fonction d'itération à exécuter pour chaque objet. Les arguments de fonction sont pointeur vers CObject et un pointeur void aux données supplémentaires que l'appelant de la fonction.

  • pContext
    Points de données facultatives que l'appelant peut fournir à la fonction d'itération. Ce pointeur peut être NULL.

Notes

La pile, globale, ou les objets imbriqués ne sont pas énumérés. Le pointeur passé à AfxDoForAllObjects dans pContext est passé à la fonction d'itération spécifiée chaque fois qu'elle est appelée.

Notes

Cette fonction ne fonctionne que dans la version de débogage de MFC.

Exemple

#ifdef _DEBUG
void DoForAllObjects(CObject* pObject, void* pContext)
{
   int *pnCount = (int*)pContext;

   pObject->AssertValid();
   if (pnCount != NULL)
      (*pnCount)++;
}
#endif // _DEBUG
#ifdef _DEBUG
   //AfxDoForAllObjects will call the function DoForAllObjects  
   //For each CObject-derived object that is allocated on the heap 
   int nCount = 0;
   AfxDoForAllObjects(DoForAllObjects, &nCount);
   TRACE("%d Objects Checked\n", nCount);
#endif

Configuration requise

En-tête : afx.h

Voir aussi

Concepts

macro MFC et Globals