MINIDUMP_CALLBACK_TYPE 枚举 (minidumpapiset.h)
标识 MiniDumpCallback 函数返回的信息的类型。 并非所有内存故障都会导致回调;例如,如果故障在堆栈内,则故障被视为不可恢复,最小转储将失败。
语法
typedef enum _MINIDUMP_CALLBACK_TYPE {
ModuleCallback,
ThreadCallback,
ThreadExCallback,
IncludeThreadCallback,
IncludeModuleCallback,
MemoryCallback,
CancelCallback,
WriteKernelMinidumpCallback,
KernelMinidumpStatusCallback,
RemoveMemoryCallback,
IncludeVmRegionCallback,
IoStartCallback,
IoWriteAllCallback,
IoFinishCallback,
ReadMemoryFailureCallback,
SecondaryFlagsCallback,
IsProcessSnapshotCallback,
VmStartCallback,
VmQueryCallback,
VmPreReadCallback,
VmPostReadCallback
} MINIDUMP_CALLBACK_TYPE;
常量
ModuleCallback 回调函数返回模块信息。 |
ThreadCallback 回调函数返回线程信息。 |
ThreadExCallback 回调函数返回扩展线程信息。 |
IncludeThreadCallback 回调函数指示要包含的线程。 它被称为小型转储库 枚举进程中的线程,而不是在收集的信息之后,就像它一样 ThreadCallback 或 ThreadExCallback。 它被调用 每个线程。 如果回调函数返回 FALSE,则排除当前线程。 这允许调用方获取进程中线程子集的信息,而无需挂起 不感兴趣的线程。 或者,可以修改 ThreadWriteFlags MINIDUMP_CALLBACK_OUTPUT的成员 结构并返回 TRUE ,以避免收集不必要的信息 运行。 |
IncludeModuleCallback 回调函数指示要包含的模块。 回调函数作为 小型转储库枚举进程中的模块,而不是在收集信息后,因为它 使用 ModuleCallback。 为每个模块调用它。 如果回调函数 返回 FALSE,排除当前模块。 或者,你可以修改 的 ModuleWriteFlags 成员 MINIDUMP_CALLBACK_OUTPUT 结构和 返回 TRUE 以避免为模块收集不必要的信息。 |
MemoryCallback 回调函数返回要包含在转储中的内存区域。 仅调用回调 对于不使用 MiniDumpWithFullMemory 标志生成的转储。 如果回调函数返回 FALSE 或大小为 0 的区域,将不会再次调用回调。 DbgHelp 6.1 及更早版本: 不支持此值。 |
CancelCallback 回调函数返回取消信息。 DbgHelp 6.1 及更早版本: 不支持此值。 |
WriteKernelMinidumpCallback 用户模式小型转储已成功完成。 若要启动内核模式小型转储,则回调 应返回 TRUE 并设置 的 Handle 成员 MINIDUMP_CALLBACK_OUTPUT 结构。 DbgHelp 6.1 及更早版本: 不支持此值。 |
KernelMinidumpStatusCallback 回调函数返回内核小型转储的状态信息。 DbgHelp 6.1 及更早版本: 不支持此值。 |
RemoveMemoryCallback 回调函数返回要从转储中排除的内存区域。 仅调用回调 对于不使用 MiniDumpWithFullMemory 标志生成的转储。 如果回调 函数返回 FALSE 或大小为 0 的区域,将不会再次调用回调。 DbgHelp 6.3 及更早版本: 不支持此值。 |
IncludeVmRegionCallback 回调函数返回有关虚拟内存区域的信息。 它为每个调用两次 全内存写入过程中的区域。 的 VmRegion 成员 MINIDUMP_CALLBACK_OUTPUT 结构 包含当前内存区域。 可以修改区域的基址和大小,只要是新的 区域仍然是原始区域的子集;将忽略对其他成员所做的更改。 如果回调返回 TRUE 并设置 的 Continue 成员 MINIDUMP_CALLBACK_OUTPUT 如果为 TRUE,小型转储库将使用 指定的区域 VmRegion 作为要写入的区域。 如果回调返回 FALSE 或如果 Continue 为 FALSE, 不会为其他内存区域调用回调。 DbgHelp 6.4 及更早版本: 不支持此值。 |
IoStartCallback 回调函数指示调用方将提供备用 I/O 例程。 如果回调 返回 TRUE ,并将 Status 成员设置为 MINIDUMP_CALLBACK_OUTPUT S_FALSE,小型转储库将通过回调发送所有 I/O。 调用方将 接收每个数据片段的 IoWriteAllCallback 回调。 DbgHelp 6.4 及更早版本: 不支持此值。 |
IoWriteAllCallback 回调必须写入所有请求的字节或失败。 的 Io 成员 MINIDUMP_CALLBACK_INPUT 结构包含 请求。 如果写入操作失败,回调应返回 FALSE。 如果你的设备不支持 写入操作成功,回调应返回 TRUE 并设置 的状态 成员 MINIDUMP_CALLBACK_OUTPUT S_OK。 调用方将收到 IoFinishCallback 回调 I/O 完成时。 DbgHelp 6.4 及更早版本: 不支持此值。 |
IoFinishCallback 回调返回 I/O 完成信息。 如果回调返回 FALSE 或 不设置 的 Status 成员 MINIDUMP_CALLBACK_OUTPUT S_OK,小型转储库假定小型转储写入操作失败。 DbgHelp 6.4 及更早版本: 不支持此值。 |
ReadMemoryFailureCallback 读取内存失败。 如果回调返回 TRUE 并设置 的 Status 成员 MINIDUMP_CALLBACK_OUTPUT S_OK,将忽略内存故障,并从小型转储中省略该块。 否则,则为 失败会导致无法写入到小型转储。 DbgHelp 6.4 及更早版本: 不支持此值。 |
SecondaryFlagsCallback 回调返回辅助信息。 DbgHelp 6.5 及更早版本: 不支持此值。 |
IsProcessSnapshotCallback 回调函数指示目标是进程还是快照。 DbgHelp 6.2 及更早版本: 不支持此值。 |
VmStartCallback 回调函数指示被调用方是否支持和接受虚拟内存回调,例如 VmQueryCallback、 VmPreReadCallback 和 VmPostReadCallback。 返回值S_FALSE表示支持虚拟内存回调。 值S_OK表示不支持虚拟内存回调。 DbgHelp 6.2 及更早版本: 不支持此值。 |
VmQueryCallback 为快照目标调用回调函数,以从目标收集虚拟地址内存信息。 仅当 VmStartCallback 返回值S_FALSE时,才会调用回调。 DbgHelp 6.2 及更早版本: 不支持此值。 |
VmPreReadCallback 为每个 ReadVirtual 操作发送回调函数。 这些读取不限于添加到转储的内存块。 引擎还访问进程环境块 (PEB) 、线程环境块 (TEB) 、加载程序数据、卸载的模块跟踪和其他块。 即使这些块最终未出现在转储中,它们也会从目标中读取,并且会为每个块启动虚拟内存回调。 仅当 VmStartCallback 返回S_FALSE时,才会调用回调。 DbgHelp 6.2 及更早版本: 不支持此值。 |
VmPostReadCallback 回调函数允许被调用方使用来自其他源(如缓存)的数据更改缓冲区内容,或执行模糊处理。 此时的缓冲区由 VmPreReadCallback 和 ReadProcessMemory 完全或部分填充。 仅当 VmStartCallback 返回S_FALSE时,才会调用回调。 DbgHelp 6.2 及更早版本: 不支持此值。 |
要求
要求 | 值 |
---|---|
Header | minidumpapiset.h (包括 DbgHelp.h) |
可再发行组件 | DbgHelp.dll 5.1 或更高版本 |