客户端块挂钩函数
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
仅限本机 |
||||
专业版、高级专业版和旗舰版 |
仅限本机 |
如果想要验证或报告存储在 _CLIENT_BLOCK 块中的数据的内容,可以专为此目的编写函数。 如同 CRTDBG.H 中所定义的,所编写的函数必须有与下面类似的原型:
void YourClientDump(void *, size_t)
换句话说,您的挂钩函数应接受一个 void 指针(指向分配块的起始),以及一个 size_t 类型值(指示分配大小),并返回 void。 除此之外,其内容由您决定。
使用 _CrtSetDumpClient 安装了挂钩函数后,每次转储 _CLIENT_BLOCK 块时都将调用该挂钩函数。 然后,可以使用 _CrtReportBlockType 获取有关转储块的类型或子类型的信息。
您传递给 _CrtSetDumpClient 的指向函数的指针是 _CRT_DUMP_CLIENT 类型,如 CRTDBG.H 中所定义:
typedef void (__cdecl *_CRT_DUMP_CLIENT)
(void *, size_t);