Funzioni hook del blocco client
Se si desidera convalidare o inserire in report il contenuto dei dati memorizzati in blocchi _CLIENT_BLOCK, sarà possibile scrivere una funzione specificamente per tale scopo.Tale funzione dovrà avere un prototipo analogo al seguente, come definito in CRTDBG.H:
void YourClientDump(void *, size_t)
In altri termini, la funzione hook dovrà accettare un puntatore void all'inizio dell'argomento del blocco di allocazione, insieme a un valore di tipo size_t che indica la dimensione dell'allocazione, e restituire un valore void.Non esistono altre limitazioni al contenuto.
Dopo aver installato la funzione hook mediante _CrtSetDumpClient, essa verrà chiamata ogni volta che viene effettuato il dump di un blocco _CLIENT_BLOCK.Sarà quindi possibile utilizzare _CrtReportBlockType per ottenere informazioni sul tipo o sul sottotipo dei blocchi di cui è stato effettuato il dump.
Il puntatore alla funzione che viene passato a _CrtSetDumpClient è del tipo _CRT_DUMP_CLIENT, come definito in CRTDBG.H:
typedef void (__cdecl *_CRT_DUMP_CLIENT)
(void *, size_t);