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 任意のレベル