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