KBUGCHECK_REASON_CALLBACK_ROUTINE回调函数 (wdm.h)

系统在发出 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_ADD_PAGES

KBUGCHECK_CALLBACK_REASON

KBUGCHECK_REASON_CALLBACK_RECORD

KeRegisterBugCheckReasonCallback

KeDeregisterBugCheckReasonCallback

编写 bug 检查回调例程