系统在发出 bug 检查时执行的驱动程序实现的回调函数。
有关可用回调类型的信息,请参阅 KBUGCHECK_CALLBACK_REASON。
语法
KBUGCHECK_REASON_CALLBACK_ROUTINE KbugcheckReasonCallbackRoutine;
VOID KbugcheckReasonCallbackRoutine(
  [in]      KBUGCHECK_CALLBACK_REASON Reason,
  [in]      _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
  [in, out] PVOID ReasonSpecificData,
  [in]      ULONG ReasonSpecificDataLength
)
{...}
参数
[in] Reason
类型 KBUGCHECK_CALLBACK_REASON 的枚举,指定调用回调例程的原因。
[in] Record
指向驱动程序注册此回调时提供的 KBUGCHECK_REASON_CALLBACK_RECORD 结构的指针。 有关详细信息,请参阅 KeRegisterBugCheckReasonCallback中的 CallbackRecord 参数的说明。
[in, out] ReasonSpecificData
指向包含下表确定类型的结构的缓冲区的指针。 在调用回调例程之前,作系统会填充此结构的某些成员,并且必须由回调例程填充其他成员。 有关详细信息,请参阅 编写 bug 检查回调例程。
| 价值 | 数据结构 | 
|---|---|
| KbCallbackSecondaryDumpData | KBUGCHECK_SECONDARY_DUMP_DATA | 
| KbCallbackDumpIo | KBUGCHECK_DUMP_IO | 
| KbCallbackAddPages | KBUGCHECK_ADD_PAGES | 
| KbCallbackSecondaryMultiPartDumpData | KBUGCHECK_SECONDARY_DUMP_DATA_EX | 
| KbCallbackRemovePages | KBUGCHECK_REMOVE_PAGES | 
| KbCallbackTriageDumpData | KBUGCHECK_TRIAGE_DUMP_DATA | 
[in] ReasonSpecificDataLength
指定 ReasonSpecificData 参数指向的缓冲区的大小(以字节为单位)。
返回值
没有
言论
有关如何实现此回调例程的信息,请参阅 编写 bug 检查回调例程。
有关演示如何将数据写入故障转储文件的示例代码,请参阅 DMF_CrashDump。
要求
| 要求 | 价值 | 
|---|---|
| 目标平台 | 桌面 | 
| 标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) | 
| IRQL | 在HIGH_LEVEL调用。 | 
另请参阅
KBUGCHECK_REASON_CALLBACK_RECORD
KeRegisterBugCheckReasonCallback