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

问题描述 投票:0回答:1

有没有办法列出

Win32 Device Namespaces
(UNC 路径前缀:
\\.\
)和
Win32 File Namespaces
(UNC 路径前缀:
\\?\
)的内容?

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

同样,如何列出

NT namespace
下可用的命名空间?

是否有 Windows API 调用可以处理这些问题?更新 2WinApi 不适合于此,NT Native API 是,正如评论中指出的那样 汉斯·帕桑特罗杰·利普斯科姆

更新1 如果它们不是由winapi公开的,WinObj如何列出它们?

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


(1): Win32 控制台

windows winapi path namespaces nt-native-api
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.