使用C++(VS2008),我需要能够枚举当前计算机上的所有共享文件夹,并获取或构造本地和远程名称。

我们已经相当成功地使用了 NetShareEnum ,但是遇到了一个问题,那就是我们需要使用特权较低的用户帐户来运行。

要使用NetShareEnum获取本地路径,我们至少需要检索 SHARE_INFO_2 结构-但这需要“管理员,高级用户,打印运算符(operator)或服务器运算符(operator)组成员身份”。

我一直在尝试使用 WNetOpenEnum WNetEnumResource 代替,但是我似乎也没有为股票重新获得本地名称。在AFAICS中,它仅从外部 Angular 枚举股份。

因此,我想就WNetEnumResource出问题的地方寻求帮助,或者对其他实现方式的建议。任何建议,不胜感激。

最佳答案

听起来好像您在为范围指定RESOURCE_GLOBALNET,但是很难在不看代码的情况下分辨出问题所在。

不知道自己尝试过什么以及得到了什么,很难提供帮助。例如,您期望什么本地名称,什么返回?您是否尝试使用SHARE_INFO_503进行NetShareEnum?

10-08 13:29