_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。有关更多信息,请参见 平台调用示例。