WNetAddConnection2()和NetUseAdd()的区别

7
我正在本地挂载远程驱动器(参见GetVolumeNameForVolumeMountPoint()(Windows远程驱动器挂载)的用户/密码问题
问题:WNetAddConnection2()和NetUseAdd()之间有什么区别?它们似乎都允许您通过提供用户名和密码将远程驱动器路径分配给本地驱动器字母。
此外,我可以调用WNetAddConnection2()指定本地驱动器字母(有效),或者指定“NULL”作为本地驱动器字母,控制台net use命令将显示成功将远程驱动器挂载到本地的“nothing” - 正如您所期望的一样 - 但是我不确定这种结果的目的。我的希望是,它会在本地系统/进程与远程计算机之间建立“登录凭据”,以便对GetVolumeNameForVolumeMountPoint()的其他调用具有正确的用户名/密码上下文,但这对我不起作用。
最终目标是在本地挂载远程驱动器而不需要本地驱动器字母(例如本地GUID路径共享),因为所有26个本地驱动器字母已经被使用,但是即使在成功提供远程用户名和密码挂载到本地驱动器字母(目前使用WNetAddConnection2())后,对GetVolumeNameForVolumeMountPoint()的所有调用都失败并显示“登录失败:未知用户名或错误的密码”。

NetUseAdd- 你可以将本地驱动器字母设置为null,这样就不会映射本地驱动器,而可以使用UNC路径格式来访问远程资源。 - weeyoung
@weeyoung,没有区别,在两者上都可以工作。 - Koen
1个回答

4

NetUseAdd()函数可以使连接在Windows资源管理器中可见,而WNetUseConnection()WNetAddConnection()函数则不能使连接在Windows资源管理器中可见。


今天我确认了使用WNetUseConnection2()挂载的驱动器字母在Windows资源管理器中是可见的(在Windows Vista上)。很奇怪。 - charley
未被接受和已确认的两者都会在Windows资源管理器中显示,这绝对不是我想要的。如果有人有解决方案,我很乐意听取;o) - Koen
@charley 你知道WNetUseConnection2的文档在哪里吗?(或者你是指WNetAddConnection2?) - Mike Lowery

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接