_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 类型的更多信息以及它如何能由其他使用调试功能,请参见 调试堆中的块类型。 有关如何的信息存储在基堆的调试版本中分配,初始化,并管理,请参见 内存管理和调试堆

如果 pfn 是 NULL,无效参数调用处理程序,如 参数验证所述。 如果执行允许继续, errno、_doserrno、_sys_errlist和_sys_nerr 设置为 EINVAL ,函数返回。

要求

实例

必需的头

_CrtDoForAllClientObjects

crtdbg.h, errno.h

有关更多兼容性信息,请参见中介绍的 兼容性

库: 只调试 CRT库功能 的版本。

示例

请参见 dfacobjs

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

调试实例

_CrtSetDbgFlag

_CrtReportBlockType

概念

堆状态报告函数