Aracılığıyla paylaş


_CrtDoForAllClientObjects

Yığındaki tüm _CLIENT_BLOCK türler için uygulama tarafından sağlanan bir işlevi çağırır (yalnızca hata ayıklama sürümü).

Sözdizimi

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

Parametreler

pfn
Uygulama tarafından sağlanan işlev geri çağırma işlevinin işaretçisi. Bu işlevin ilk parametresi verileri gösterir. İkinci parametre, çağrısına _CrtDoForAllClientObjectsgeçirilen bağlam işaretçisidir.

context
Uygulama tarafından sağlanan işleve geçirmek için uygulama tarafından sağlanan bağlamın işaretçisi.

Açıklamalar

İşlev, _CrtDoForAllClientObjects yığının bağlı listesinde türüne sahip _CLIENT_BLOCK bellek blokları arar ve bu türdeki bir blok bulunduğunda uygulama tarafından sağlanan işlevi çağırır. Bulunan blok ve context parametresi, uygulama tarafından sağlanan işleve bağımsız değişken olarak geçirilir. Hata ayıklama sırasında bir uygulama, belleği ayırmak için hata ayıklama yığını işlevlerini açıkça çağırarak ve bloklara blok türü atanacağını _CLIENT_BLOCK belirterek belirli bir ayırma grubunu izleyebilir. Bu bloklar daha sonra ayrı olarak izlenebilir ve sızıntı algılama ve bellek durumu raporlaması sırasında farklı şekilde bildirilebilir.

Bayrağın _CRTDBG_ALLOC_MEM_DF bit alanı _crtDbgFlag açık değilse hemen _CrtDoForAllClientObjects döndürür. Tanımlanmadığında _DEBUG , çağrısı _CrtDoForAllClientObjects ön işleme sırasında kaldırılır.

Türü ve diğer hata ayıklama işlevleri tarafından nasıl kullanılabildiği hakkında _CLIENT_BLOCK daha fazla bilgi için bkz . Hata ayıklama yığınındaki blok türleri. Temel yığının hata ayıklama sürümünde bellek bloklarının nasıl ayrıldığı, başlatıldığı ve yönetildiğini öğrenmek için bkz . CRT hata ayıklama yığını ayrıntıları.

ise pfn NULL, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno, _doserrno, _sys_errlistve _sys_nerr olarak ayarlanır EINVAL ve işlev döndürür.

Gereksinimler

Yordam Gerekli başlık
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Kitaplıklar: Yalnızca evrensel C çalışma zamanı kitaplıklarının sürümlerinde hata ayıklama.

Ayrıca bkz.

Hata ayıklama yordamları
_CrtSetDbgFlag
Yığın durumu raporlama işlevleri
_CrtReportBlockType