Поделиться через


_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 и о том, как его могут использовать другие функции отладки, см. в статье Types of blocks on the debug heap. Сведения о выделении, инициализации и управлении блоками памяти в отладочной версии базовой кучи см. в сведениях об отладочной куче CRT.

В противном pfn NULLслучае вызывается недопустимый обработчик параметров, как описано в разделе "Проверка параметров". Если выполнение разрешено продолжить, errno, _doserrno, _sys_errlistи задано значение EINVAL и _sys_nerr функция возвращается.

Требования

Маршрут Обязательный заголовок
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Библиотеки: отладочные версии только универсальных библиотек времени выполнения C.

См. также

Отладка подпрограмм
_CrtSetDbgFlag
Функции отчетов о состоянии кучи
_CrtReportBlockType