首页 > 解决方案 > 获取任何给定 UNC 文件夹路径(包括 NAS)和任何每用户重定向的 FinalPath

问题描述

我需要弄清楚给定(UNC)路径是否实际上指向/结束/是给定路径(目录)。

示例:“\?\UNC\machine1\shared1”。 GetFinalPathNameByHandle将导致“\?\UNC\machine1\shared1”。

但是,如果 shared1 中有符号链接“sym”并且给定路径是“\?\UNC\machine1\shared1\sym”,则创建“sym” mklink并指向“\machine2\shared2”,结果为GetFinalPathNameByHandle 是“\?\UNC\machine2\shared2”。

现在,我们有一个启用了“home”文件夹的 QNAP NAS - 这意味着每个域用户在导航到“\nas\home”时,最终都会进入自己的目录。GetFinalPathNameByHandle for "\?\UNC\nas\home" 结果为 "\?\UNC\nas\home",而我需要掌握实际的目录名称,例如 "\?\UNC\nas\homes\用户名”。我不需要读/写——我只需要知道“\?\UNC\nas\home”真的不是“\?\UNC\nas\home”。

当“\machine\folder”最终出现在其他地方(每个用户)时,这个想法就会传播到任何类似的场景。假设我什至不需要知道它真正结束的地方,只是发生了某种重新分析......

有任何想法吗?

标签: winapiuncfile-managementqnapreparsepoint

解决方案


推荐阅读