KeInitializeCrashDumpHeader 函式 (wdm.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 開始提供。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Ntddk.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何層級 |