_CrtDoForAllClientObjects

Llama a una función proporcionada por la aplicación para todos los tipos _CLIENT_BLOCK del montón (solo versión de depuración).

Sintaxis

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

Parámetros

pfn
Puntero a la función de devolución de llamada proporcionada por la aplicación. El primer parámetro de esta función señala a los datos. El segundo parámetro es el puntero de contexto que se pasa a la llamada a _CrtDoForAllClientObjects.

context
Puntero al contexto proporcionado por la aplicación que se va a pasar a la función proporcionada por la aplicación.

Comentarios

La función _CrtDoForAllClientObjects busca en la lista vinculada del montón bloques de memoria con el tipo _CLIENT_BLOCK y llama a la función proporcionada por la aplicación cuando se encuentra un bloque de este tipo. El bloque encontrado y el parámetro context se pasan como argumentos a la función proporcionada por la aplicación. Durante la depuración, una aplicación puede realizar el seguimiento de un grupo específico de asignaciones llamando explícitamente a las funciones del montón de depuración para asignar memoria y especificando que se asigne a los bloques el tipo de bloque _CLIENT_BLOCK . A continuación, se puede realizar el seguimiento y la notificación de estos bloques por separado durante la detección de pérdidas y la creación de informes sobre el estado de la memoria.

Si el _CRTDBG_ALLOC_MEM_DF campo de bits de la _crtDbgFlag marca no está activado, _CrtDoForAllClientObjects devuelve inmediatamente. Cuando _DEBUG no se define, las llamadas a _CrtDoForAllClientObjects se quitan durante el preprocesamiento.

Para más información sobre el tipo _CLIENT_BLOCK y cómo lo pueden usar otras funciones de depuración, vea Types of blocks on the debug heap. Para obtener información sobre cómo se asignan, inicializan y administran los bloques de memoria en la versión de depuración del montón base, consulte Detalles del montón de depuración de CRT.

Si pfn es NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, errno, _doserrno, _sys_errlisty _sys_nerr se establece EINVAL en y la función devuelve.

Requisitos

Routine Encabezado necesario
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Bibliotecas: solo versiones de depuración de las bibliotecas en tiempo de ejecución de C universales.

Consulte también

Rutinas de depuración
_CrtSetDbgFlag
Funciones de informes de estado del montón
_CrtReportBlockType