Share via


_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).

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 campo de bits _CRTDBG_ALLOC_MEM_DF de la marca _crtDbgFlag no está activado, el resultado de _CrtDoForAllClientObjects se 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 Tipos de bloques en el montón de depuración. 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, vea 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_errlist y _sys_nerr se establece en EINVAL y la función devuelve un valor.

Requisitos

Rutina

Encabezado necesario

_CrtDoForAllClientObjects

<crtdbg.h>, <errno.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad en la introducción.

Bibliotecas: solo versiones de depuración de Características de la biblioteca CRT.

Ejemplo

Vea dfacobjs.

Equivalente en .NET Framework

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Rutinas de depuración

_CrtSetDbgFlag

_CrtReportBlockType

Otros recursos

Funciones que indican el estado del montón