Windows ObRegisterCallbacks:MSDN文档/示例代码差异

Windows ObRegisterCallbacks:MSDN文档/示例代码差异,windows,winapi,kernel,driver,Windows,Winapi,Kernel,Driver,文档和示例代码中与ObRegsterCallbacks相关的一些差异相互矛盾。我希望微软的人能读到这个帖子,并能给出一个直截了当的答案 首先,以下是一些背景: Vista SP1的内核数据和过滤支持第12页 “OB回调始终在发起进程和线程的上下文中进行。” 关于OB_PRE_OPERATION_回调的MSDN文档 “在禁用正常内核APC的任意线程上下文中,在被动_级别调用此例程。” WDK中的ObCallback注册驱动程序示例代码 使用PsGetCurrentXXX例程与目标对象进行比较

文档和示例代码中与ObRegsterCallbacks相关的一些差异相互矛盾。我希望微软的人能读到这个帖子,并能给出一个直截了当的答案

首先,以下是一些背景:

  • Vista SP1的内核数据和过滤支持第12页

    “OB回调始终在发起进程和线程的上下文中进行。”

  • 关于OB_PRE_OPERATION_回调的MSDN文档

    “在禁用正常内核APC的任意线程上下文中,在被动_级别调用此例程。”

  • WDK中的ObCallback注册驱动程序示例代码

    使用PsGetCurrentXXX例程与目标对象进行比较


如果您不能准确地确定原始进程/线程,但根据当前文档,这些回调的实用性似乎是非常有限的。如果您有任何见解,我们将不胜感激。

我猜您在OSR Online上得到了您的答案,不过如果您能将您得到的答案通知其他用户,这将对他们有所帮助:

回调是在启动句柄的线程的上下文中调用的 有问题的行动。在这一点上,文件可以更精确。 -S(Msft)