Windows error checking callback not called on 64-bit systems

We have successfully ported our driver to 64-bit systems.

But one thing is missing, which is not very important, but it was a very convenient debugging function.

Callbacks registered with KeRegisterBugCheckReasonCallback are never called. The function returns TRUE for success, but my callback is never called. I also tried different values ​​for the parameter argument without success. Failed to try using old KeRegisterBugCheckCallback.

What am I doing wrong?

Am I missing something in the documentation?

+6
source share
1 answer

I found a problem.

Only Windows calls callbacks if the corresponding KBUGCHECK_CALLBACK_RECORD is aligned to an 8-byte address.

For some reason mine is where aligned to 4 byte addresses.

This is a bummer that KeRegisterBugCheckReasonCallback does not check this.

+1
source

Source: https://habr.com/ru/post/890050/


All Articles