Win32 API 日本語リファレンス
ホームSystem.Diagnostics.Debug › MINIDUMP_CALLBACK_TYPE

MINIDUMP_CALLBACK_TYPE

列挙型
基底型i4

メンバー 21

名前10進16進説明
ModuleCallback00x0コールバック関数はモジュール情報を返します。
ThreadCallback10x1コールバック関数はスレッド情報を返します。
ThreadExCallback20x2コールバック関数は拡張スレッド情報を返します。
IncludeThreadCallback30x3コールバック関数は、どのスレッドを含めるかを示します。この関数は、 ThreadCallbackThreadExCallback のように情報が収集された後ではなく、ミニダンプ ライブラリがプロセス内のスレッドを列挙している最中に呼び出されます。各スレッドに対して呼び出されます。コールバック関数が FALSE を返した場合、現在のスレッドは除外されます。これにより、呼び出し元は対象外のスレッドを中断させることなく、プロセス内の一部のスレッドについてのみ情報を取得できます。あるいは、MINIDUMP_CALLBACK_OUTPUT 構造体の ThreadWriteFlags メンバーを変更して TRUE を返すことで、そのスレッドについて不要な情報を収集しないようにできます。
IncludeModuleCallback40x4コールバック関数は、どのモジュールを含めるかを示します。このコールバック関数は、ModuleCallback のように情報が収集された後ではなく、ミニダンプ ライブラリがプロセス内のモジュールを列挙している最中に呼び出されます。各モジュールに対して呼び出されます。コールバック関数が FALSE を返した場合、現在のモジュールは除外されます。あるいは、 MINIDUMP_CALLBACK_OUTPUT 構造体の ModuleWriteFlags メンバーを変更して TRUE を返すことで、そのモジュールについて不要な情報を収集しないようにできます。
MemoryCallback50x5

コールバック関数は、ダンプに含めるメモリ領域を返します。このコールバックは、MiniDumpWithFullMemory フラグを指定せずに生成されるダンプの場合にのみ呼び出されます。コールバック関数が FALSE またはサイズ 0 の領域を返した場合、コールバックはそれ以降呼び出されません。

DbgHelp 6.1 以前: この値はサポートされていません。

CancelCallback60x6

コールバック関数はキャンセル情報を返します。

DbgHelp 6.1 以前: この値はサポートされていません。

WriteKernelMinidumpCallback70x7

ユーザー モードのミニダンプが正常に完了しました。カーネル モードのミニダンプを開始するには、コールバックは TRUE を返し、 MINIDUMP_CALLBACK_OUTPUT 構造体の Handle メンバーを設定します。

DbgHelp 6.1 以前: この値はサポートされていません。

KernelMinidumpStatusCallback80x8

コールバック関数は、カーネル ミニダンプの状態情報を返します。

DbgHelp 6.1 以前: この値はサポートされていません。

RemoveMemoryCallback90x9

コールバック関数は、ダンプから除外するメモリ領域を返します。このコールバックは、MiniDumpWithFullMemory フラグを指定せずに生成されるダンプの場合にのみ呼び出されます。コールバック関数が FALSE またはサイズ 0 の領域を返した場合、コールバックはそれ以降呼び出されません。

DbgHelp 6.3 以前: この値はサポートされていません。

IncludeVmRegionCallback100xA

コールバック関数は、仮想メモリ領域に関する情報を返します。この関数は、フル メモリの書き込みパス中に各領域について 2 回呼び出されます。 MINIDUMP_CALLBACK_OUTPUT 構造体の VmRegion メンバーには、現在のメモリ領域が格納されます。新しい領域が元の領域の部分集合である限り、領域のベース アドレスとサイズを変更できます。その他のメンバーへの変更は無視されます。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUTContinue メンバーを TRUE に設定した場合、ミニダンプ ライブラリは VmRegion で指定された領域を書き込み対象の領域として使用します。コールバックが FALSE を返した場合、または ContinueFALSE の場合、それ以降のメモリ領域についてコールバックは呼び出されません。

DbgHelp 6.4 以前: この値はサポートされていません。

IoStartCallback110xB

コールバック関数は、呼び出し元が代替の I/O ルーチンを提供することを示します。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUTStatus メンバーを S_FALSE に設定した場合、ミニダンプ ライブラリはすべての I/O をコールバック経由で送信します。呼び出し元は、データの各断片について IoWriteAllCallback コールバックを受け取ります。

DbgHelp 6.4 以前: この値はサポートされていません。

IoWriteAllCallback120xC

コールバックは、要求されたすべてのバイトを書き込むか、失敗しなければなりません。 MINIDUMP_CALLBACK_INPUT 構造体の Io メンバーに、その要求が格納されています。書き込み操作が失敗した場合、コールバックは FALSE を返します。書き込み操作が成功した場合、コールバックは TRUE を返し、 MINIDUMP_CALLBACK_OUTPUTStatus メンバーを S_OK に設定します。呼び出し元は、I/O が完了したときに IoFinishCallback コールバックを受け取ります。

DbgHelp 6.4 以前: この値はサポートされていません。

IoFinishCallback130xD

コールバックは I/O 完了情報を返します。コールバックが FALSE を返した場合、または MINIDUMP_CALLBACK_OUTPUTStatus メンバーを S_OK に設定しなかった場合、ミニダンプ ライブラリはミニダンプの書き込み操作が失敗したものとみなします。

DbgHelp 6.4 以前: この値はサポートされていません。

ReadMemoryFailureCallback140xE

メモリの読み取りに失敗しました。コールバックが TRUE を返し、 MINIDUMP_CALLBACK_OUTPUTStatus メンバーを S_OK に設定した場合、そのメモリ障害は無視され、該当ブロックはミニダンプから省略されます。それ以外の場合、この障害はミニダンプへの書き込みの失敗となります。

DbgHelp 6.4 以前: この値はサポートされていません。

SecondaryFlagsCallback150xF

コールバックは副次的な情報を返します。

DbgHelp 6.5 以前: この値はサポートされていません。

IsProcessSnapshotCallback160x10

コールバック関数は、対象がプロセスであるかスナップショットであるかを示します。

DbgHelp 6.2 以前: この値はサポートされていません。

VmStartCallback170x11

コールバック関数は、呼び出し先が VmQueryCallbackVmPreReadCallbackVmPostReadCallback などの仮想メモリ コールバックをサポートし、受け入れるかどうかを示します。

戻り値が S_FALSE の場合は、仮想メモリ コールバックがサポートされていることを意味します。S_OK の場合は、仮想メモリ コールバックがサポートされていないことを意味します。

DbgHelp 6.2 以前: この値はサポートされていません。

VmQueryCallback180x12

コールバック関数は、スナップショットが対象の場合に、対象から仮想アドレス メモリの情報を収集するために呼び出されます。 このコールバックは、VmStartCallbackS_FALSE を返した場合にのみ呼び出されます。

DbgHelp 6.2 以前: この値はサポートされていません。

VmPreReadCallback190x13

コールバック関数は、すべての ReadVirtual 操作に対して送信されます。これらの読み取りは、ダンプに追加されるメモリ ブロックに限定されません。エンジンは、プロセス環境ブロック (PEB)、スレッド環境ブロック (TEB)、ローダー データ、アンロードされたモジュールのトレース、その他のブロックにもアクセスします。これらのブロックが最終的にダンプに含まれない場合でも、対象から読み取られ、それぞれについて仮想メモリ コールバックが開始されます。このコールバックは、VmStartCallbackS_FALSE を返した場合にのみ呼び出されます。

DbgHelp 6.2 以前: この値はサポートされていません。

VmPostReadCallback200x14

コールバック関数により、呼び出し先はキャッシュなどの他のソースのデータでバッファーの内容を変更したり、難読化を行ったりできます。この時点でバッファーは、VmPreReadCallback および ReadProcessMemory によって全体または一部が満たされています。このコールバックは、VmStartCallbackS_FALSE を返した場合にのみ呼び出されます。

DbgHelp 6.2 以前: この値はサポートされていません。

公式ドキュメント

<a href="/windows/desktop/api/minidumpapiset/nc-minidumpapiset-minidump_callback_routine">MiniDumpCallback</a> 関数によって返される情報の種類を識別します。すべてのメモリ障害でコールバックが発生するわけではありません。たとえば、障害がスタック内で発生した場合、その障害は回復不能とみなされ、ミニダンプは失敗します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 Enum
import 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* = 20
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,
}
#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