_CrtDoForAllClientObjects
Chiama una funzione fornita dall'applicazione per tutti i tipi di _CLIENT_BLOCK
nell'heap (solo versione di debug).
Sintassi
void _CrtDoForAllClientObjects(
void ( * pfn )( void *, void * ),
void *context
);
Parametri
pfn
Puntatore alla funzione di callback della funzione fornita dall'applicazione. Il primo parametro a questa funzione punta ai dati. Il secondo parametro è il puntatore di contesto che viene passato alla chiamata a _CrtDoForAllClientObjects
.
context
Puntatore al contesto fornito dall'applicazione da passare alla funzione fornita dall'applicazione.
Osservazioni:
La funzione _CrtDoForAllClientObjects
cerca nell'elenco collegato dell'heap i blocchi di memoria con il tipo _CLIENT_BLOCK
e chiama la funzione fornita dall'applicazione quando trova un blocco di questo tipo. Il blocco individuato e il parametro context
vengono passati come argomenti alla funzione fornita dall'applicazione. Durante il debug, un'applicazione può tenere traccia di un gruppo specifico di allocazioni chiamando in modo esplicito le funzioni heap di debug per allocare memoria e specificando che i blocchi vengono associati al tipo di blocco _CLIENT_BLOCK
. Questi blocchi possono quindi essere controllati separatamente ed essere segnalati in modo diverso durante la creazione dello stato della memoria e del rilevamento di perdite.
Se il _CRTDBG_ALLOC_MEM_DF
campo di bit del _crtDbgFlag
flag non è attivato, _CrtDoForAllClientObjects
restituisce immediatamente. Quando _DEBUG
non è definito, le chiamate a _CrtDoForAllClientObjects
vengono rimosse durante la pre-elaborazione.
Per altre informazioni sul tipo _CLIENT_BLOCK
e su come può essere usato da altre funzioni di debug, vedere Types of blocks on the debug heap. Per informazioni sulla modalità di allocazione, inizializzazione e gestione dei blocchi di memoria nella versione di debug dell'heap di base, vedere Dettagli dell'heap di debug CRT.
Se pfn
è NULL
, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno
, _doserrno
_sys_errlist
, e _sys_nerr
è impostata su EINVAL
e la funzione restituisce .
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_CrtDoForAllClientObjects |
<crtdbg.h>, <errno.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie : Solo versioni di debug delle librerie di runtime C universali.
Vedi anche
Routine di debug
_CrtSetDbgFlag
Funzioni di creazione di report sullo stato dell'heap
_CrtReportBlockType