_CrtSetReportHook

Installa la funzione per la creazione di report definita dal client per eseguire l'hook nel processo di creazione di report sul debug del runtime di C (solo versione di debug).

Sintassi

_CRT_REPORT_HOOK _CrtSetReportHook(
   _CRT_REPORT_HOOK reportHook
);

Parametri

reportHook
Nuova funzione per la creazione di report definita dal client per eseguire l'hook nel processo di creazione di report sul debug del runtime di C.

Valore restituito

Restituisce la funzione per la creazione di report precedente definita dal client.

Osservazioni:

_CrtSetReportHook consente a un'applicazione di usare la propria funzione per la creazione di report nel processo di creazione di report sulla libreria di debug del runtime di C. Di conseguenza, ogni volta che _CrtDbgReport viene chiamato per generare un report di debug, viene chiamata prima la funzione di creazione di report dell'applicazione. Questa funzionalità abilita un'applicazione a eseguire operazioni, ad esempio il filtraggio di report di debug, in modo che possa usare solo i tipi specifici di allocazioni o inviare un report a destinazioni non disponibili tramite _CrtDbgReport. Quando _DEBUG non è definito, le chiamate a _CrtSetReportHook vengono rimosse durante la pre-elaborazione.

Per una versione più affidabile di _CrtSetReportHook, vedere _CrtSetReportHook2.

La funzione _CrtSetReportHook installa la nuova funzione per la creazione di report definita dal client specificata in reportHook e restituisce l'hook precedente definito dal client. L'esempio seguente illustra come un hook di report definito dal client debba avere un prototipo:

int YourReportHook( int reportType, char *message, int *returnValue );

dove reportType è il tipo di report di debug (_CRT_WARN, _CRT_ERROR, o _CRT_ASSERT), message è il messaggio utente di debug completamente assemblato per essere incluso nel report e returnValue è il valore specificato dalla funzione per la creazione di report definita dal client che deve essere restituito dalla funzione _CrtDbgReport. Per una descrizione completa dei tipi di report disponibili, vedere la _CrtSetReportMode funzione .

Se la funzione per la creazione di report definita dal client gestisce completamente il messaggio di debug in modo che non sia necessario alcun report aggiuntivo, la funzione deve restituire TRUE. Quando la funzione restituisce FALSE, viene chiamato _CrtDbgReport per generare il report di debug usando le impostazioni correnti per tipo di report, modalità e file. In aggiunta, specificando il valore restituito _CrtDbgReport in returnValue, l'applicazione può anche controllare se si verifica un'interruzione di debug. Per una descrizione completa della configurazione e della generazione del report di debug, vedere _CrtSetReportMode, _CrtSetReportFilee _CrtDbgReport.

Per altre informazioni sull'uso di altre funzioni di runtime che supportano hook e sulla scrittura di funzioni hook definite dal client personalizzate, vedere Eseguire il debug della funzione hook scrittura.

Nota

Se l'applicazione viene compilata con /clr e la funzione di creazione di report viene chiamata dopo la chiusura dell'applicazione main, CLR genererà un'eccezione se la funzione di creazione di report chiama funzioni CRT.

Requisiti

Ciclo Intestazione obbligatoria
_CrtSetReportHook <crtdbg.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Librerie

Solo le versioni di debug delle librerie di runtime di C.

Vedi anche

Routine di debug
_CrtGetReportHook