Partilhar via


AfxDoForAllObjects

Executa a função de iteração especificada para todos os objetos derivados de CObject que foram atribuídos com new.

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

Parâmetros

  • pfn
    Aponta para uma função de iteração a ser executada para cada objeto. Os argumentos da função é um ponteiro para CObject e um ponteiro nulo nos dados adicionais que o chamador fornece à função.

  • pContext
    Aponta para os dados opcionais que o chamador pode fornecer à função de iteração. Esse ponteiro pode ser nulo.

Comentários

A pilha, global, objetos ou inseridas não são enumerados. O ponteiro passado a AfxDoForAllObjects em pContext é passado para a função de iteração especificada cada vez que é chamado.

Dica

Esta função funciona somente na versão de depuração MFC.

Exemplo

#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

Requisitos

Header: afx.h

Consulte também

Conceitos

Macros e globais MFC