我正在编写一个内核驱动程序,它通过 CmRegisterCallbackEx 注册注册表例程回调。我想获得关键的完整路径并通过 DbgPrint 打印出来。在回调中,我使用带有 KeyNameInformation 标志的 ZwQueryKey 成功查询了 Key 指针,但是在 KEY_NAME_INFORMATION 结构的文档中我读到:
在 Windows Vista 和更高版本的 Windows 操作系统中可用。
http://msdn.microsoft.com/en-us/library/windows/hardware/ff553381(v=vs.85).aspx
那么有没有办法在windows xp的内核中获取完整的注册表路径?我知道这是可能的,因为 SysInternals 工具已经具有此功能,并且在 xp 中运行良好。
谢谢
更新
我刚刚尝试在 XP SP2 上使用 KeyNameInformation 标志获取密钥完整路径(如 MSDN 所述,XP 不支持此标志,请参见上面的链接),令我惊讶的是,它起作用了。任何人都知道为什么 MSDN 声明不支持此标志?这是一个简单的错误还是我误解了什么?
谢谢。