如何列出Win32命名空间的内容?

n61*_*007 6 windows winapi namespaces path nt-native-api

有没有办法列出Win32 Device Namespaces(UNC路径前缀:) \\.\Win32 File Namespaces(UNC路径前缀:)的内容\\?\

目标是使应用程序适合作为命令行(1)工具,可以使用UNC(通用命名约定)进行导航.是否已经为此编写了工具?我知道WinObj,但这不是开源和GUI工具.

同样,如何列出哪些命名空间可用NT namespace

是否有处理这些问题的Windows API调用? 更新2 WinApi不适用于此,NT Native API正如Hans PassantRoger Lipscombe的评论中所指出的那样 .

更新1如果它们没有被winapi暴露,WinObj如何列出它们?

参考:http: //msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#paths


(1):Win32控制台

DJm*_*00n 0

正如评论中提到的,您可以查看WinObjEx64代码例如。只需查看ListObjectDirectoryTree代码即可。

NtOpenDirectoryObjectNtQueryDirectoryObjectNtOpenSymbolicLinkObjectNtQuerySymbolicLinkObject是有助于枚举 NT 对象的主要 API。

另外,这篇旧文章介绍了如何使用对象管理器接口 API: https://www.drdobbs.com/using-nts-undocumented-object-manager-in/184416468