_CrtDoForAllClientObjects

Memanggil fungsi yang disediakan aplikasi untuk semua _CLIENT_BLOCK jenis dalam timbunan (hanya versi debug).

Sintaks

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

Parameter

pfn
Penunjuk ke fungsi panggilan balik yang disediakan aplikasi. Parameter pertama untuk fungsi ini menunjuk ke data. Parameter kedua adalah penunjuk konteks yang diteruskan ke panggilan ke _CrtDoForAllClientObjects.

context
Arahkan ke konteks yang disediakan aplikasi untuk diteruskan ke fungsi yang disediakan aplikasi.

Keterangan

Fungsi ini _CrtDoForAllClientObjects mencari daftar tertaut timbunan untuk blok memori dengan _CLIENT_BLOCK jenis dan memanggil fungsi yang disediakan aplikasi ketika blok jenis ini ditemukan. Blok yang ditemukan dan context parameter diteruskan sebagai argumen ke fungsi yang disediakan aplikasi. Selama penelusuran kesalahan, aplikasi dapat melacak grup alokasi tertentu dengan secara eksplisit memanggil fungsi tumpukan debug untuk mengalokasikan memori dan menentukan bahwa blok diberi _CLIENT_BLOCK jenis blok. Blok-blok ini kemudian dapat dilacak secara terpisah dan dilaporkan secara berbeda selama deteksi kebocoran dan pelaporan status memori.

_CRTDBG_ALLOC_MEM_DF Jika bidang _crtDbgFlag bit bendera tidak diaktifkan, _CrtDoForAllClientObjects segera kembali. Jika _DEBUG tidak ditentukan, panggilan ke _CrtDoForAllClientObjects akan dihapus selama praproscesing.

Untuk informasi selengkapnya tentang _CLIENT_BLOCK jenis dan bagaimana dapat digunakan oleh fungsi debug lainnya, lihat Jenis blok pada tumpukan debug. Untuk informasi tentang bagaimana blok memori dialokasikan, diinisialisasi, dan dikelola dalam versi debug timbunan dasar, lihat detail timbunan debug CRT.

Jika pfn adalah NULL, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, , errno, _doserrno_sys_errlist, dan _sys_nerr diatur ke EINVAL dan fungsi akan kembali.

Persyaratan

Rutin Header yang diperlukan
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Pustaka: Debug versi pustaka run-time C universal saja.

Baca juga

Rutinitas debug
_CrtSetDbgFlag
Fungsi pelaporan status timbunan
_CrtReportBlockType