Funciones de enlace con los bloques de tipo cliente
Actualización: noviembre 2007
Este tema es aplicable a:
Edición |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Sólo para código nativo |
|||
Standard |
Sólo para código nativo |
|||
Pro y Team |
Sólo para código nativo |
Leyenda de la tabla:
Se aplica |
|
No procede |
|
Comando o comandos ocultos de manera predeterminada. |
Si desea validar o informar del contenido de los datos almacenados en bloques _CLIENT_BLOCK, puede escribir una función específicamente para ello. Esta función debe tener un prototipo similar al siguiente, como se define en CRTDBG.H:
void YourClientDump(void *, size_t)
En otras palabras, la función de enlace debería aceptar un puntero void al inicio del bloque de asignación, junto con un valor de tipo size_t que indique el tamaño de la asignación y devuelva void. Aparte de eso, el contenido se puede elegir libremente.
Una vez instalada la función de enlace mediante _CrtSetDumpClient, recibirá una llamada cada vez que se realice un volcado de un bloque _CLIENT_BLOCK. Se puede, entonces, utilizar _CrtReportBlockType para obtener información del tipo o subtipo de los bloques volcados.
El puntero a la función que se pasó a _CrtSetDumpClient es del tipo _CRT_DUMP_CLIENT, según se define en CRTDBG.H:
typedef void (__cdecl *_CRT_DUMP_CLIENT)
(void *, size_t);
Vea también
Tareas
Ejemplo crt_dbg2: funciones de enlace de depuración de las bibliotecas en tiempo de ejecución de C