gpt4 book ai didi

c++ - 我在 Vista 上访问网络驱动器时遇到问题

转载 作者:行者123 更新时间:2023-11-30 04:39:38 31 4
gpt4 key购买 nike

步骤是:我一直在使用 UAC 运行一个服务程序,使用函数 WNetAddConnection2 映射网络驱动器,然后它成功了。

我以管理员权限运行另一个程序(以管理员身份运行)调用函数 GetFileAttribute 来获取网络驱动器的属性,但是,它返回 0xffffffff,错误代码为 3(未找到特殊路径)。

我也试过在网络驱动器上创建文件,但仍然失败。

你能帮我解决这个问题吗?

非常感谢。

最佳答案

在 NT 中,“网络驱动器”是从 MS-DOS 文件系统命名空间到 UNC 路径的符号链接(symbolic link)。这些符号链接(symbolic link)在每个登录 session 中维护。这也意味着管理员有自己的一组符号链接(symbolic link)。

解决方案是在每个需要访问特定 UNC 网络路径作为驱动器号的登录 session 中调用 WNetAddConnection2

这记录在 the MSDN page 上:

On Windows Server 2003 and Windows XP, the WNet functions create and delete network drive letters in the MS-DOS device namespace associated with a logon session because MS-DOS devices are identified by AuthenticationID (a locally unique identifier, or LUID, associated with a logon session.) This can affect applications that call one of the WNet functions to create a network drive letter under one user logon, but query for existing network drive letters under a different user logon.

关于c++ - 我在 Vista 上访问网络驱动器时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2153165/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com