_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, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, errno
, _doserrno
, _sys_errlist
y _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