提问人:n611x007 提问时间:11/14/2012 最后编辑:Communityn611x007 更新时间:8/12/2023 访问量:1984
如何列出 Win32 命名空间的内容?
How to list contents of Win32 namespaces?
问:
有没有办法列出 (UNC 路径前缀: ) 和 (UNC 路径前缀: ) 的内容?Win32 Device Namespaces
\\.\
Win32 File Namespaces
\\?\
目标是拥有一个适合作为命令行 (1) 工具的应用程序,该应用程序可以使用 UNC(通用命名约定)来导航它们。是否已经为此编写了工具?我知道 WinObj,但这不是开源和 GUI 工具。
同样,如何在 ?NT namespace
是否有处理这些问题的 Windows API 调用? 更新 2WinApi 不适合于此,NT Native API 是,正如 Hans Passant 和 Roger Lipscombe 在评论中指出的那样。
更新 1如果它们未由 winapi 公开,WinObj 如何列出它们?
编号: http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#paths
(1):Win32 控制台
答:
如评论中所述,例如,您可以查看 WinObjEx64 代码。只需查看那里的 ListObjectDirectoryTree 代码即可。
NtOpenDirectoryObject、NtQueryDirectoryObject、NtOpenSymbolicLinkObject 和 NtQuerySymbolicLinkObject 是有助于枚举 NT 对象的主要 API。
此外,这篇旧文章还介绍了如何使用对象管理器接口 API:https://www.drdobbs.com/using-nts-undocumented-object-manager-in/184416468
评论