共用方式為


_CrtDoForAllClientObjects

呼叫所有的應用程式所提供的函式**_CLIENT_BLOCK**堆積 (偵錯版本) 中的型別。

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

參數

  • pfn
    應用程式提供的函式的回呼函式指標。 這個函式的第一個參數指向的資料。 第二個參數是傳遞給要呼叫的內容指標**_CrtDoForAllClientObjects**。

  • context
    要傳遞至應用程式所提供的函式的應用程式提供內容的指標。

備註

_CrtDoForAllClientObjects函式會搜尋使用的記憶體區塊的堆積的連結的串列**_CLIENT_BLOCK型別和呼叫找不到應用程式所提供的函式時這種類型的區塊。 找到的區塊和context參數做為引數傳遞至應用程式所提供的函式。 偵錯期間,應用程式可以追蹤特定的配置群組明確地呼叫偵錯堆積函式配置的記憶體,並指定區塊被指派_CLIENT_BLOCK**區塊型別。 可以分別進行追蹤這些區塊,然後以不同方式報告期間遺漏偵測和記憶體狀態報告。

如果**_CRTDBG_ALLOC_MEM_DF位元欄位的_crtDbgFlag旗標未開啟, _CrtDoForAllClientObjects立即傳回。 當_DEBUG尚未定義,會呼叫_CrtDoForAllClientObjects**在前置處理過程中移除。

如需有關**_CLIENT_BLOCK**輸入以及如何它可供其他偵錯函式,請參閱偵錯堆積上的區塊類型。 如需有關如何記憶體區塊會配置、 初始化,而且在基底堆積的偵錯版本管理的資訊,請參閱記憶體管理和偵錯堆積

如果pfn是NULL,不正確的參數處理常式會叫用,如所述參數驗證。 如果要繼續,請允許執行errno、 _doserrno、 _sys_errlist 和 _sys_nerr設定為 [ EINVAL ,並在函式傳回。

需求

常式

所需的標頭

_CrtDoForAllClientObjects

<crtdbg.h>,<errno.h>

如需相容性資訊,請參閱相容性在簡介中。

定義函數庫: 的偵錯版本CRT 程式庫功能只。

範例

請參閱 dfacobjs

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱 平台叫用範例

請參閱

參考

偵錯常式

_CrtSetDbgFlag

_CrtReportBlockType

概念

堆積狀態報告函式