共用方式為


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 驅動程式套件 (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 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級