_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