共用方式為


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_CALLBACK_REASON

KBUGCHECK_REASON_CALLBACK_RECORD

KeDeregisterBugCheckReasonCallback

KeInitializeCallbackRecord

KeRegisterBugCheckCallback