Condividi tramite


_CrtDoForAllClientObjects

chiama una funzione applicazione-fornita per tutti _CLIENT_BLOCK nell'heap (versione di debug solo).

void _CrtDoForAllClientObjects( 
   void ( * pfn )( void *, void * ),
   void *context
);

Parametri

  • pfn
    Puntatore alla funzione di callback applicazione-fornita di funzione.il primo parametro ai punti di questa funzione ai dati.Il secondo parametro è il puntatore di contesto a cui viene passato alla chiamata _CrtDoForAllClientObjects.

  • context
    Puntatore al contesto applicazione-fornito da passare alla funzione applicazione-fornita.

Note

_CrtDoForAllClientObjects la funzione trova nell'elenco collegato dell'heap i blocchi di memoria con _CLIENT_BLOCK digitare e si chiama la funzione applicazione-fornita quando un blocco di questo tipo viene trovato.Il blocco individuato e context il parametro viene passato come argomenti alla funzione applicazione-fornita.Durante il debug, un'applicazione può tenere traccia di un gruppo specifico di allocazioni chiamare in modo esplicito le funzioni heap di debug per allocare memoria e specificando che i blocchi vengono assegnati _CLIENT_BLOCK tipo di blocco.Questi blocchi possono quindi essere controllati separatamente e sono riportati in modo diverso durante la creazione dello stato della memoria e del rilevamento di perdite.

se _CRTDBG_ALLOC_MEM_DF campo di bit di _crtDbgFlag il flag non è attivato, _CrtDoForAllClientObjects immediatamente restituisce.quando _DEBUG non è definito, le chiamate a _CrtDoForAllClientObjects vengono ignorati durante la pre-elaborazione.

Per ulteriori informazioni su _CLIENT_BLOCK il tipo e può essere utilizzato da altre funzioni di debug, vedere Tipi di blocchi sull'heap di debug.Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Gestione della memoria e heap di debug.

se pfn viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, errno, _doserrno, _sys_errlist e _sys_nerr è impostato su EINVAL e la funzione restituisce.

Requisiti

routine

Intestazione di associazione

_CrtDoForAllClientObjects

<crtdbg.h> , <errno.h>

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

raccolte: versioni di debug di Funzionalità della libreria CRT solo.

Esempio

Vedere dfacobjs.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Procedura di debug

_CrtSetDbgFlag

_CrtReportBlockType

Concetti

Funzioni per la creazione di rapporti sullo stato dello heap