文档和示例代码中的ObRegsterCallbacks之间存在一些相互矛盾的差异。我希望微软的某个人能够阅读这个主板并提供一个直接的答案。
首先,这里有一些背景知识:
针对Vista SP1的内核数据和过滤支持第12页
" OB回调总是在原始过程的环境中进行。 。螺纹"
OB_PRE_OPERATION_CALLBACK上的MSDN文档
"在PASSIVE_LEVEL中,在任意线程上下文中调用此例程,禁用正常的内核APC。"
WDK中的ObCallback回调注册驱动程序示例代码
使用PsGetCurrentXXX例程与目标对象进行比较。
如果您无法准确地确定原始进程/线程,但根据当前的文档似乎是这种情况,这些回调的效用似乎非常有限。任何见解都将不胜感激。
答案 0 :(得分:2)
我猜你在OSR Online上得到了答案,但如果你能告诉他们你得到的答案there,那么对其他用户会有帮助:
在启动句柄的线程的上下文中调用回调 有问题的操作。在这一点上,文档可能更精确。 - S(Msft)