KeInitializeCrashDumpHeader 関数 (ntddk.h)
KeInitializeCrashDumpHeader ルーチンは、システムがクラッシュ ダンプ ファイルに必要なヘッダー情報を提供します。
構文
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
パラメーター
[in] DumpType
ダンプ ファイルの種類を指定します。 有効な値はDUMP_TYPE_FULLのみです。
[in] Flags
ダンプ ファイルのフラグを指定します。 有効な値は 0 のみです。
[out] Buffer
ヘッダー情報を受け取るバッファーへのポインター。
[in] BufferSize
Buffer が指すバッファーのサイズをバイト単位で指定 します。
[out, optional] BufferNeeded
必要に応じて、完全なヘッダー情報を保持するために必要なサイズを受け取る変数へのポインター。
戻り値
KeInitializeCrashDumpHeader は、成功した場合はSTATUS_SUCCESS、失敗した場合は適切な NTSTATUS エラー コードを返します。
注釈
ドライバーは、このルーチンを使用して、クラッシュ ダンプ ファイルを手動で作成できます。 ファイルはいつでも作成でき、デバッガーがシステムの状態を調べるために使用できます。
クラッシュ ダンプ ファイルを作成するには、 KeInitializeCrashDumpHeader を呼び出してヘッダーを作成し、メモリの内容を ヘッダーに追加します。 ドライバーは、ルーチンを呼び出した直後にメモリの内容を記録する必要がないことに注意してください。通常、ヘッダーはクラッシュ ダンプ ファイルが書き込まれる前にいつでも作成できます。
ルーチンは、メモリの内容が記録される前に呼び出されるように設計されているため、次の制限があります。
- ルーチンは、アクティブな例外レコードに関する情報を記録しません。
- システム RAM のサイズが変更された場合は、ヘッダーを再作成する必要があります。
Windows 8以降、KeInitializeCrashDumpHeader は、KeInitializeCrashDumpHeader の呼び出し元のプロセス コンテキストに関係なく、常にシステム プロセス ページ ディレクトリのベース アドレスをクラッシュ ダンプ ヘッダーに書き込みます。 デバッガーはこのディレクトリを使用して、システム プロセスのコンテキストでクラッシュ ダンプ ファイルにアクセスできます。
以前のバージョンの Windows では、 KeInitializeCrashDumpHeader は、呼び出し元の現在のプロセス コンテキストのページ ディレクトリのベース アドレスをクラッシュ ダンプ ヘッダーに書き込みます。 したがって、 KeInitializeCrashDumpHeader はシステム プロセスから呼び出す必要があります。 そうしないと、デバッガーは、ファイルが保存されたプロセス コンテキストでクラッシュ ダンプ ファイルにアクセスできなくなります。
Windows 8以降、KeInitializeCrashDumpHeader は Windows Driver Kit (WDK) の Wdm.h ヘッダー ファイルで宣言されています。 以前のバージョンの WDK でこのルーチンを使用するには、ドライバー コードに次の関数宣言を含めます。
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2003 SP1 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | 任意のレベル |