MINIDUMP_CALLBACK_TYPE
列挙型メンバー 21
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| ModuleCallback | 0 | 0x0 | コールバック関数はモジュール情報を返します。 |
| ThreadCallback | 1 | 0x1 | コールバック関数はスレッド情報を返します。 |
| ThreadExCallback | 2 | 0x2 | コールバック関数は拡張スレッド情報を返します。 |
| IncludeThreadCallback | 3 | 0x3 | コールバック関数は、どのスレッドを含めるかを示します。この関数は、 ThreadCallback や ThreadExCallback のように情報が収集された後ではなく、ミニダンプ ライブラリがプロセス内のスレッドを列挙している最中に呼び出されます。各スレッドに対して呼び出されます。コールバック関数が FALSE を返した場合、現在のスレッドは除外されます。これにより、呼び出し元は対象外のスレッドを中断させることなく、プロセス内の一部のスレッドについてのみ情報を取得できます。あるいは、MINIDUMP_CALLBACK_OUTPUT 構造体の ThreadWriteFlags メンバーを変更して TRUE を返すことで、そのスレッドについて不要な情報を収集しないようにできます。 |
| IncludeModuleCallback | 4 | 0x4 | コールバック関数は、どのモジュールを含めるかを示します。このコールバック関数は、ModuleCallback のように情報が収集された後ではなく、ミニダンプ ライブラリがプロセス内のモジュールを列挙している最中に呼び出されます。各モジュールに対して呼び出されます。コールバック関数が FALSE を返した場合、現在のモジュールは除外されます。あるいは、 MINIDUMP_CALLBACK_OUTPUT 構造体の ModuleWriteFlags メンバーを変更して TRUE を返すことで、そのモジュールについて不要な情報を収集しないようにできます。 |
| MemoryCallback | 5 | 0x5 | コールバック関数は、ダンプに含めるメモリ領域を返します。このコールバックは、MiniDumpWithFullMemory フラグを指定せずに生成されるダンプの場合にのみ呼び出されます。コールバック関数が FALSE またはサイズ 0 の領域を返した場合、コールバックはそれ以降呼び出されません。 DbgHelp 6.1 以前: この値はサポートされていません。 |
| CancelCallback | 6 | 0x6 | コールバック関数はキャンセル情報を返します。 DbgHelp 6.1 以前: この値はサポートされていません。 |
| WriteKernelMinidumpCallback | 7 | 0x7 | ユーザー モードのミニダンプが正常に完了しました。カーネル モードのミニダンプを開始するには、コールバックは TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT 構造体の Handle メンバーを設定します。 DbgHelp 6.1 以前: この値はサポートされていません。 |
| KernelMinidumpStatusCallback | 8 | 0x8 | コールバック関数は、カーネル ミニダンプの状態情報を返します。 DbgHelp 6.1 以前: この値はサポートされていません。 |
| RemoveMemoryCallback | 9 | 0x9 | コールバック関数は、ダンプから除外するメモリ領域を返します。このコールバックは、MiniDumpWithFullMemory フラグを指定せずに生成されるダンプの場合にのみ呼び出されます。コールバック関数が FALSE またはサイズ 0 の領域を返した場合、コールバックはそれ以降呼び出されません。 DbgHelp 6.3 以前: この値はサポートされていません。 |
| IncludeVmRegionCallback | 10 | 0xA | コールバック関数は、仮想メモリ領域に関する情報を返します。この関数は、フル メモリの書き込みパス中に各領域について 2 回呼び出されます。 MINIDUMP_CALLBACK_OUTPUT 構造体の VmRegion メンバーには、現在のメモリ領域が格納されます。新しい領域が元の領域の部分集合である限り、領域のベース アドレスとサイズを変更できます。その他のメンバーへの変更は無視されます。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT の Continue メンバーを TRUE に設定した場合、ミニダンプ ライブラリは VmRegion で指定された領域を書き込み対象の領域として使用します。コールバックが FALSE を返した場合、または Continue が FALSE の場合、それ以降のメモリ領域についてコールバックは呼び出されません。 DbgHelp 6.4 以前: この値はサポートされていません。 |
| IoStartCallback | 11 | 0xB | コールバック関数は、呼び出し元が代替の I/O ルーチンを提供することを示します。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT の Status メンバーを S_FALSE に設定した場合、ミニダンプ ライブラリはすべての I/O をコールバック経由で送信します。呼び出し元は、データの各断片について IoWriteAllCallback コールバックを受け取ります。 DbgHelp 6.4 以前: この値はサポートされていません。 |
| IoWriteAllCallback | 12 | 0xC | コールバックは、要求されたすべてのバイトを書き込むか、失敗しなければなりません。 MINIDUMP_CALLBACK_INPUT 構造体の Io メンバーに、その要求が格納されています。書き込み操作が失敗した場合、コールバックは FALSE を返します。書き込み操作が成功した場合、コールバックは TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT の Status メンバーを S_OK に設定します。呼び出し元は、I/O が完了したときに IoFinishCallback コールバックを受け取ります。 DbgHelp 6.4 以前: この値はサポートされていません。 |
| IoFinishCallback | 13 | 0xD | コールバックは I/O 完了情報を返します。コールバックが FALSE を返した場合、または MINIDUMP_CALLBACK_OUTPUT の Status メンバーを S_OK に設定しなかった場合、ミニダンプ ライブラリはミニダンプの書き込み操作が失敗したものとみなします。 DbgHelp 6.4 以前: この値はサポートされていません。 |
| ReadMemoryFailureCallback | 14 | 0xE | メモリの読み取りに失敗しました。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT の Status メンバーを S_OK に設定した場合、そのメモリ障害は無視され、該当ブロックはミニダンプから省略されます。それ以外の場合、この障害はミニダンプへの書き込みの失敗となります。 DbgHelp 6.4 以前: この値はサポートされていません。 |
| SecondaryFlagsCallback | 15 | 0xF | コールバックは副次的な情報を返します。 DbgHelp 6.5 以前: この値はサポートされていません。 |
| IsProcessSnapshotCallback | 16 | 0x10 | コールバック関数は、対象がプロセスであるかスナップショットであるかを示します。 DbgHelp 6.2 以前: この値はサポートされていません。 |
| VmStartCallback | 17 | 0x11 | コールバック関数は、呼び出し先が VmQueryCallback、VmPreReadCallback、VmPostReadCallback などの仮想メモリ コールバックをサポートし、受け入れるかどうかを示します。 戻り値が S_FALSE の場合は、仮想メモリ コールバックがサポートされていることを意味します。S_OK の場合は、仮想メモリ コールバックがサポートされていないことを意味します。 DbgHelp 6.2 以前: この値はサポートされていません。 |
| VmQueryCallback | 18 | 0x12 | コールバック関数は、スナップショットが対象の場合に、対象から仮想アドレス メモリの情報を収集するために呼び出されます。 このコールバックは、VmStartCallback が S_FALSE を返した場合にのみ呼び出されます。 DbgHelp 6.2 以前: この値はサポートされていません。 |
| VmPreReadCallback | 19 | 0x13 | コールバック関数は、すべての ReadVirtual 操作に対して送信されます。これらの読み取りは、ダンプに追加されるメモリ ブロックに限定されません。エンジンは、プロセス環境ブロック (PEB)、スレッド環境ブロック (TEB)、ローダー データ、アンロードされたモジュールのトレース、その他のブロックにもアクセスします。これらのブロックが最終的にダンプに含まれない場合でも、対象から読み取られ、それぞれについて仮想メモリ コールバックが開始されます。このコールバックは、VmStartCallback が S_FALSE を返した場合にのみ呼び出されます。 DbgHelp 6.2 以前: この値はサポートされていません。 |
| VmPostReadCallback | 20 | 0x14 | コールバック関数により、呼び出し先はキャッシュなどの他のソースのデータでバッファーの内容を変更したり、難読化を行ったりできます。この時点でバッファーは、VmPreReadCallback および ReadProcessMemory によって全体または一部が満たされています。このコールバックは、VmStartCallback が S_FALSE を返した場合にのみ呼び出されます。 DbgHelp 6.2 以前: この値はサポートされていません。 |
公式ドキュメント
<a href="/windows/desktop/api/minidumpapiset/nc-minidumpapiset-minidump_callback_routine">MiniDumpCallback</a> 関数によって返される情報の種類を識別します。すべてのメモリ障害でコールバックが発生するわけではありません。たとえば、障害がスタック内で発生した場合、その障害は回復不能とみなされ、ミニダンプは失敗します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum MINIDUMP_CALLBACK_TYPE : int {
ModuleCallback = 0,
ThreadCallback = 1,
ThreadExCallback = 2,
IncludeThreadCallback = 3,
IncludeModuleCallback = 4,
MemoryCallback = 5,
CancelCallback = 6,
WriteKernelMinidumpCallback = 7,
KernelMinidumpStatusCallback = 8,
RemoveMemoryCallback = 9,
IncludeVmRegionCallback = 10,
IoStartCallback = 11,
IoWriteAllCallback = 12,
IoFinishCallback = 13,
ReadMemoryFailureCallback = 14,
SecondaryFlagsCallback = 15,
IsProcessSnapshotCallback = 16,
VmStartCallback = 17,
VmQueryCallback = 18,
VmPreReadCallback = 19,
VmPostReadCallback = 20
} MINIDUMP_CALLBACK_TYPE;public enum MINIDUMP_CALLBACK_TYPE : int
{
ModuleCallback = 0,
ThreadCallback = 1,
ThreadExCallback = 2,
IncludeThreadCallback = 3,
IncludeModuleCallback = 4,
MemoryCallback = 5,
CancelCallback = 6,
WriteKernelMinidumpCallback = 7,
KernelMinidumpStatusCallback = 8,
RemoveMemoryCallback = 9,
IncludeVmRegionCallback = 10,
IoStartCallback = 11,
IoWriteAllCallback = 12,
IoFinishCallback = 13,
ReadMemoryFailureCallback = 14,
SecondaryFlagsCallback = 15,
IsProcessSnapshotCallback = 16,
VmStartCallback = 17,
VmQueryCallback = 18,
VmPreReadCallback = 19,
VmPostReadCallback = 20,
}Public Enum MINIDUMP_CALLBACK_TYPE As Integer
ModuleCallback = 0
ThreadCallback = 1
ThreadExCallback = 2
IncludeThreadCallback = 3
IncludeModuleCallback = 4
MemoryCallback = 5
CancelCallback = 6
WriteKernelMinidumpCallback = 7
KernelMinidumpStatusCallback = 8
RemoveMemoryCallback = 9
IncludeVmRegionCallback = 10
IoStartCallback = 11
IoWriteAllCallback = 12
IoFinishCallback = 13
ReadMemoryFailureCallback = 14
SecondaryFlagsCallback = 15
IsProcessSnapshotCallback = 16
VmStartCallback = 17
VmQueryCallback = 18
VmPreReadCallback = 19
VmPostReadCallback = 20
End Enumimport enum
class MINIDUMP_CALLBACK_TYPE(enum.IntEnum):
ModuleCallback = 0
ThreadCallback = 1
ThreadExCallback = 2
IncludeThreadCallback = 3
IncludeModuleCallback = 4
MemoryCallback = 5
CancelCallback = 6
WriteKernelMinidumpCallback = 7
KernelMinidumpStatusCallback = 8
RemoveMemoryCallback = 9
IncludeVmRegionCallback = 10
IoStartCallback = 11
IoWriteAllCallback = 12
IoFinishCallback = 13
ReadMemoryFailureCallback = 14
SecondaryFlagsCallback = 15
IsProcessSnapshotCallback = 16
VmStartCallback = 17
VmQueryCallback = 18
VmPreReadCallback = 19
VmPostReadCallback = 20// MINIDUMP_CALLBACK_TYPE
pub const ModuleCallback: i32 = 0;
pub const ThreadCallback: i32 = 1;
pub const ThreadExCallback: i32 = 2;
pub const IncludeThreadCallback: i32 = 3;
pub const IncludeModuleCallback: i32 = 4;
pub const MemoryCallback: i32 = 5;
pub const CancelCallback: i32 = 6;
pub const WriteKernelMinidumpCallback: i32 = 7;
pub const KernelMinidumpStatusCallback: i32 = 8;
pub const RemoveMemoryCallback: i32 = 9;
pub const IncludeVmRegionCallback: i32 = 10;
pub const IoStartCallback: i32 = 11;
pub const IoWriteAllCallback: i32 = 12;
pub const IoFinishCallback: i32 = 13;
pub const ReadMemoryFailureCallback: i32 = 14;
pub const SecondaryFlagsCallback: i32 = 15;
pub const IsProcessSnapshotCallback: i32 = 16;
pub const VmStartCallback: i32 = 17;
pub const VmQueryCallback: i32 = 18;
pub const VmPreReadCallback: i32 = 19;
pub const VmPostReadCallback: i32 = 20;// MINIDUMP_CALLBACK_TYPE
const (
ModuleCallback int32 = 0
ThreadCallback int32 = 1
ThreadExCallback int32 = 2
IncludeThreadCallback int32 = 3
IncludeModuleCallback int32 = 4
MemoryCallback int32 = 5
CancelCallback int32 = 6
WriteKernelMinidumpCallback int32 = 7
KernelMinidumpStatusCallback int32 = 8
RemoveMemoryCallback int32 = 9
IncludeVmRegionCallback int32 = 10
IoStartCallback int32 = 11
IoWriteAllCallback int32 = 12
IoFinishCallback int32 = 13
ReadMemoryFailureCallback int32 = 14
SecondaryFlagsCallback int32 = 15
IsProcessSnapshotCallback int32 = 16
VmStartCallback int32 = 17
VmQueryCallback int32 = 18
VmPreReadCallback int32 = 19
VmPostReadCallback int32 = 20
)const
ModuleCallback = 0;
ThreadCallback = 1;
ThreadExCallback = 2;
IncludeThreadCallback = 3;
IncludeModuleCallback = 4;
MemoryCallback = 5;
CancelCallback = 6;
WriteKernelMinidumpCallback = 7;
KernelMinidumpStatusCallback = 8;
RemoveMemoryCallback = 9;
IncludeVmRegionCallback = 10;
IoStartCallback = 11;
IoWriteAllCallback = 12;
IoFinishCallback = 13;
ReadMemoryFailureCallback = 14;
SecondaryFlagsCallback = 15;
IsProcessSnapshotCallback = 16;
VmStartCallback = 17;
VmQueryCallback = 18;
VmPreReadCallback = 19;
VmPostReadCallback = 20;// MINIDUMP_CALLBACK_TYPE
pub const ModuleCallback: i32 = 0;
pub const ThreadCallback: i32 = 1;
pub const ThreadExCallback: i32 = 2;
pub const IncludeThreadCallback: i32 = 3;
pub const IncludeModuleCallback: i32 = 4;
pub const MemoryCallback: i32 = 5;
pub const CancelCallback: i32 = 6;
pub const WriteKernelMinidumpCallback: i32 = 7;
pub const KernelMinidumpStatusCallback: i32 = 8;
pub const RemoveMemoryCallback: i32 = 9;
pub const IncludeVmRegionCallback: i32 = 10;
pub const IoStartCallback: i32 = 11;
pub const IoWriteAllCallback: i32 = 12;
pub const IoFinishCallback: i32 = 13;
pub const ReadMemoryFailureCallback: i32 = 14;
pub const SecondaryFlagsCallback: i32 = 15;
pub const IsProcessSnapshotCallback: i32 = 16;
pub const VmStartCallback: i32 = 17;
pub const VmQueryCallback: i32 = 18;
pub const VmPreReadCallback: i32 = 19;
pub const VmPostReadCallback: i32 = 20;const
ModuleCallback* = 0
ThreadCallback* = 1
ThreadExCallback* = 2
IncludeThreadCallback* = 3
IncludeModuleCallback* = 4
MemoryCallback* = 5
CancelCallback* = 6
WriteKernelMinidumpCallback* = 7
KernelMinidumpStatusCallback* = 8
RemoveMemoryCallback* = 9
IncludeVmRegionCallback* = 10
IoStartCallback* = 11
IoWriteAllCallback* = 12
IoFinishCallback* = 13
ReadMemoryFailureCallback* = 14
SecondaryFlagsCallback* = 15
IsProcessSnapshotCallback* = 16
VmStartCallback* = 17
VmQueryCallback* = 18
VmPreReadCallback* = 19
VmPostReadCallback* = 20enum MINIDUMP_CALLBACK_TYPE : int {
ModuleCallback = 0,
ThreadCallback = 1,
ThreadExCallback = 2,
IncludeThreadCallback = 3,
IncludeModuleCallback = 4,
MemoryCallback = 5,
CancelCallback = 6,
WriteKernelMinidumpCallback = 7,
KernelMinidumpStatusCallback = 8,
RemoveMemoryCallback = 9,
IncludeVmRegionCallback = 10,
IoStartCallback = 11,
IoWriteAllCallback = 12,
IoFinishCallback = 13,
ReadMemoryFailureCallback = 14,
SecondaryFlagsCallback = 15,
IsProcessSnapshotCallback = 16,
VmStartCallback = 17,
VmQueryCallback = 18,
VmPreReadCallback = 19,
VmPostReadCallback = 20,
}#define global ModuleCallback 0x0
#define global ThreadCallback 0x1
#define global ThreadExCallback 0x2
#define global IncludeThreadCallback 0x3
#define global IncludeModuleCallback 0x4
#define global MemoryCallback 0x5
#define global CancelCallback 0x6
#define global WriteKernelMinidumpCallback 0x7
#define global KernelMinidumpStatusCallback 0x8
#define global RemoveMemoryCallback 0x9
#define global IncludeVmRegionCallback 0xA
#define global IoStartCallback 0xB
#define global IoWriteAllCallback 0xC
#define global IoFinishCallback 0xD
#define global ReadMemoryFailureCallback 0xE
#define global SecondaryFlagsCallback 0xF
#define global IsProcessSnapshotCallback 0x10
#define global VmStartCallback 0x11
#define global VmQueryCallback 0x12
#define global VmPreReadCallback 0x13
#define global VmPostReadCallback 0x14