Condividi tramite


_CrtDoForAllClientObjects

Chiama una funzione fornita dall'applicazione per tutti i tipi di _CLIENT_BLOCK nell'heap (solo versione di debug).

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.

Note

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 campo di bit _CRTDBG_ALLOC_MEM_DF del flag _crtDbgFlag non è attivato, viene restituito immediatamente il risultato di _CrtDoForAllClientObjects. 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 Tipi di blocchi sull'heap di debug. Per informazioni sulle modalità di allocazione, inizializzazione e gestione dei blocchi di memoria nella versione di debug dell'heap di base, vedere Informazioni dettagliate sull'heap di debug CRT.

Se pfn è NULL, verrà richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno, _doserrno, _sys_errlist, and _sys_nerr viene impostato su EINVAL e viene restituito il risultato della funzione.

Requisiti

Routine

Intestazione obbligatoria

_CrtDoForAllClientObjects

<crtdbg.h>, <errno.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Librerie: solo versioni di debug di Funzionalità libreria CRT.

Esempio

Vedere dfacobjs.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione C standard, usare PInvoke. Per altre informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Routine di debug

_CrtSetDbgFlag

_CrtReportBlockType

Altre risorse

Funzioni per la creazione di report sullo stato dello heap