ObRegisterCallbacks‘s允许“为线程和进程句柄操作注册回调例程列表”。
例如,您正在注册PsSetCreateProcessNotifyRoutine回调。您可以使用PC Hunter
等软件取消设置,因为x86窗口没有内核级补丁防护。并且驱动程序不知道它不再需要这个回调。
问题:
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
错误是检查回调状态的正确方法吗?答案 0 :(得分:1)
驱动程序如何检查用ObRegisterCallbacks注册的回调是否仍然有效? 在第二次调用ObRegisterCallbacks期间STATUS_FLT_INSTANCE_ALTITUDE_COLLISION错误是检查回调状态的正确方法吗?
从文档中,如果您尝试使用相同的参数再次注册回调,则会获得STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
。同样地,对于PsSetCreateProcessNotifyRoutine
,您将获得STATUS_INVALID_PARAMETER
。这可用于测试您的回调是否仍在系统中注册。
注意:对于PsSetCreateProcessNotifyRoutine
,错误无效参数也表示已达到最大回调限制。
是否可以通过ObRegisterCallbacks获取所有已注册回调的列表?
没有任何直接的API。