在64位系统上未调用Windows错误检查回调

时间:2011-06-08 12:25:16

标签: windows driver bsod

我们已经成功将驱动程序移植到64位系统。

但缺少一件事,这不是很重要,但它是一个非常方便的调试功能。

永远不会调用使用KeRegisterBugCheckReasonCallback注册的回调。该函数返回TRUE表示成功,但从不调用我的回调函数。我也为参数原因尝试了不同的值但没有成功。尝试使用较旧的KeRegisterBugCheckCallback也失败了。

我做错了什么?

我是否遗漏了文档中的内容?

1 个答案:

答案 0 :(得分:1)

我发现了问题。

如果对应的KBUGCHECK_CALLBACK_RECORD与8字节地址对齐,则Windows仅调用回调。

出于某种原因,我的位置与4字节地址对齐。

KeRegisterBugCheckReasonCallback不会检查这一点,这真是令人失望。