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 结构的指针。 有关详细信息,请参阅 KeRegisterBugCheckReasonCallbackCallbackRecord 参数的说明。

[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 检查回调例程