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


_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 и о том, как он может использоваться другими функциями отладки, см. в разделе Типы блоков в отладочной куче. Сведения о выделении, инициализации и управлении блоками памяти в отладочной версии основной кучи см. в разделе Сведения о куче отладки CRT.

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

Требования

Подпрограмма

Обязательный заголовок

_CrtDoForAllClientObjects

<crtdbg.h>, <errno.h>

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

Библиотеки: только отладочные версии Функции библиотеки CRT.

Пример

См. раздел dfacobjs.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.

См. также

Ссылки

Процедуры отладки

_CrtSetDbgFlag

_CrtReportBlockType

Другие ресурсы

Функции создания отчетов о состоянии кучи