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 | 任何層級 |