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

在64位系统上未调用Windows错误检查回调,windows,driver,bsod,Windows,Driver,Bsod,不久前,我们已经成功地将驱动程序移植到64位系统 但是缺少了一点,这并不重要,但它是一个非常方便的调试功能 从未调用向KeRegisterBugCheckReasonCallback注册的回调。函数返回TRUE表示成功,但从未调用我的回调。由于参数原因,我也尝试了不同的值,但没有成功。尝试使用旧的KeRegisterBugCheckCallback也失败 我做错了什么 我在文档中遗漏了什么吗?我发现了问题 只有当相应的KBUGCHECK\u CALLBACK\u记录与8字节地址对齐时,Windo

不久前,我们已经成功地将驱动程序移植到64位系统

但是缺少了一点,这并不重要,但它是一个非常方便的调试功能

从未调用向KeRegisterBugCheckReasonCallback注册的回调。函数返回TRUE表示成功,但从未调用我的回调。由于参数原因,我也尝试了不同的值,但没有成功。尝试使用旧的KeRegisterBugCheckCallback也失败

我做错了什么

我在文档中遗漏了什么吗?

我发现了问题

只有当相应的KBUGCHECK\u CALLBACK\u记录与8字节地址对齐时,Windows才会调用回调

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


KeRegisterBugCheckReasonCallback没有检查这一点,这真是一个遗憾。

在谷歌上搜索似乎应该可以。“(°u o)/”我尝试了。我没有找到任何特定于x64窗口的源,只是“旧”一次,在x64时间之前,或通用一次。我的经验是,回调只是不被调用。