MINIDUMP_CALLBACK_TYPE列舉 (minidumpapiset.h)
識別 MiniDumpCallback 函式所傳回的信息類型。 並非所有記憶體失敗都會造成回呼;例如,如果失敗位於堆疊內,則會將失敗視為無法復原,而迷你傾印將會失敗。
Syntax
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 回調函式會指出要包含哪些模組。 回呼函式稱為 minidump 連結庫會列舉進程中的模組,而不是在收集資訊之後,因為它 使用 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 結構 包含目前的記憶體區域。 只要是新的,您就可以修改區域的基位址和大小 region 會保留原始區域的子集;會忽略對其他成員所做的變更。 如果回呼傳回 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 並設定 的狀態成員 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 和更早版本: 不支援此值。 |
規格需求
需求 | 值 |
---|---|
標頭 | minidumpapiset.h (包含 DbgHelp.h) |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |