Funciones de enlace de informe
Una función de enlace de informe, instalada mediante _CrtSetReportHook, recibe una llamada cada vez que _CrtDbgReport genera un informe de depuración. Se puede utilizar, entre otras cosas, para filtrar informes que se concentran en determinados tipos de asignaciones. Una función de enlace de informe debería tener un prototipo como el siguiente:
int YourReportHook(int nRptType, char *szMsg, int *retVal);
El puntero que se pasa a _CrtSetReportHook es del tipo _CRT_REPORT_HOOK, según se define en CRTDBG.H:
typedef int (__cdecl *_CRT_REPORT_HOOK)(int, char *, int *);
Cuando la biblioteca en tiempo de ejecución llama a la función de enlace, el argumento nRptType contiene la categoría del informe (_CRT_WARN, _CRT_ERROR, o _CRT_ASSERT), szMsg contiene un puntero a una cadena de mensaje de informe completamente ensamblada y retVal especifica si _CrtDbgReport debería continuar con la ejecución normal después de generar el informe o bien iniciar el depurador. Un valor cero en retVal permite continuar la ejecución, un valor 1 inicia el depurador.
Si el enlace se encarga de procesar completamente el mensaje en cuestión, de forma que no se requiera ningún informe posterior, debería devolver TRUE. Si devuelve FALSE, _CrtDbgReport informará del mensaje como es habitual.