Condividi tramite


_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