Funzioni hook del blocco client
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Solo nativo |
||||
Pro, Premium e Ultimate |
Solo nativo |
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);
Vedere anche
Attività
Esempio crt_dbg2: funzioni hook di debug del runtime del linguaggio C