KeRegisterBugCheckReasonCallback 函式 (wdm.h)
KeRegisterBugCheckReasonCallback 函式會註冊在操作系統發出錯誤檢查時執行的回呼例程。
語法
BOOLEAN KeRegisterBugCheckReasonCallback(
[out] PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
[in] PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
[in] KBUGCHECK_CALLBACK_REASON Reason,
[in] PUCHAR Component
);
參數
[out] CallbackRecord
呼叫 Windows 核心宏中所述的 KeInitializeCallbackRecord 例程所初始化之KBUGCHECK_REASON_CALLBACK_RECORD結構的指標。
[in] CallbackRoutine
要註冊 之型別KBUGCHECK_REASON_CALLBACK_ROUTINE 回呼例程的指標。 如需如何實作此回呼例程的資訊,請參閱 撰寫錯誤檢查回呼例程。
[in] Reason
型 別KBUGCHECK_CALLBACK_REASON 列舉,指定 CallbackRoutine 所指向的回呼例程類型。
[in] Component
識別呼叫端之 Null 終止 ANSI 字串的指標。 例如,您可以選取描述設備驅動器的字串,或包含裝置名稱的字串。 您可以使用 !bugdump 調試程式延伸模組來顯示與此字串相關聯的損毀傾印數據。
傳回值
如果成功註冊回呼例程,KeRegisterBugCheckReasonCallback 會傳回 TRUE;否則會傳回 FALSE。
備註
驅動程式可以使用 KeRegisterBugCheckReasonCallback 來註冊在系統錯誤檢查期間執行的例程。
如需每種回呼類型的描述,請參閱 KBUGCHECK_CALLBACK_REASON。
驅動程式可以使用 KeDeregisterBugCheckReasonCallback 例程來移除錯誤檢查回呼註冊。 任何可卸除的驅動程式都必須移除其 Unload 例程中所有回呼的註冊。
如需如何實作這些回呼例程的資訊,請參閱 撰寫錯誤檢查回呼例程。
若要顯示次要傾印數據,您可以在調試程式延伸模組中使用 IDebugDataSpaces3::ReadTagged** 方法。 另一個選項是偵錯 Bug 檢查回呼例程本身。 如需調試程式和調試程式擴充功能的詳細資訊,請參閱 Windows 偵錯。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP Service Pack 1 (SP1) 、Windows Server 2003 和更新版本的 Windows。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 |
另請參閱
KBUGCHECK_REASON_CALLBACK_RECORD