Partilhar via


_CrtDoForAllClientObjects

Chama uma função fornecida por aplicativo para todos os tipos de _CLIENT_BLOCK no heap (apenas versão de depuração).

Sintaxe

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

Parâmetros

pfn
Ponteiro para a função de retorno de chamada da função fornecida pelo aplicativo. O primeiro parâmetro para essa função aponta para os dados. O segundo parâmetro é o ponteiro de contexto enviado à chamada para _CrtDoForAllClientObjects.

context
Ponteiro para o contexto fornecido pelo aplicativo para enviar à função fornecida pelo aplicativo.

Comentários

A função _CrtDoForAllClientObjects pesquisa na lista vinculada do heap por blocos de memória com o tipo _CLIENT_BLOCK e chama a função fornecida pelo aplicativo quando um bloco desse tipo é encontrado. O bloco encontrado e o parâmetro context são enviados como argumentos para a função fornecida pelo aplicativo. Durante a depuração, um aplicativo pode rastrear um grupo específico de alocações de forma explícita, chamando as funções de heap de depuração para alocar a memória e especificar quais blocos estão atribuídos ao tipo de bloco _CLIENT_BLOCK. Esses blocos podem ser rastreados separadamente e relatados de modo diferente durante a detecção de vazamento e o relatório de estado da memória.

Se o _CRTDBG_ALLOC_MEM_DF campo de bits do _crtDbgFlag sinalizador não estiver ativado, _CrtDoForAllClientObjects retornará imediatamente. Quando _DEBUG não está definido, as chamadas para _CrtDoForAllClientObjects são removidas durante o pré-processamento.

Para obter mais informações sobre o tipo _CLIENT_BLOCK e como ele pode ser usado por outras funções de depuração, consulte Tipos de blocos no heap de depuração. Para obter informações sobre como os blocos de memória são alocados, inicializados e gerenciados na versão de depuração do heap base, consulte Detalhes do heap de depuração CRT.

Se pfn for NULL, o manipulador de parâmetros inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, , , errno_sys_errlist_doserrnoe estiver definido como EINVAL e _sys_nerr a função retornará.

Requisitos

Rotina Cabeçalho necessário
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas: somente versões de depuração de bibliotecas universais do runtime do C.

Confira também

Rotinas de depuração
_CrtSetDbgFlag
Funções de relatório de estado de heap
_CrtReportBlockType