2014-09-29 34 views
1

我有一个应用程序需要使用提供的用户名和密码访问远程计算机上的共享,并且我正在使用WNetUseConnection2连接到该共享。实际代码取自here带凭据的WNetUseConnection返回BAD网络名称

它们都是Windows 7 64位操作系统,无论是虚拟机还是物理机,但问题是在某些机器上,进程无法访问共享,但在其他机器上它使用完全相同的配置。

失败时,我试图通过Process Monitor来检查,我看到它提供了以下错误:

Operation CreateFile \\;RdpDr\;:1\\199.63.65.55\MyShareName BAD NETWORK NAME 

我在想,如果有一个人有一个线索,这是怎么回事,就好像我在同一台机器上使用RunAS for Windows资源管理器并尝试达到“\ 199.63.65.55 \ MyShareName”的效果。

以前有没有人遇到过这个问题,或者有什么线索可以在几台机器上造成这种情况?

此外,它为什么在我的UNC路径前缀\\;RdpDr\;:1

问候 基兰

+0

机器上的用户是否有权访问共享? – Sorceri 2014-09-29 17:22:42

+0

@Sorceri:是的,他有分享的读/写权限。实际上,用户是远程计算机上的本地用户,因此我将用户名称作为'ip address'\'用户名',从远程计算机上说'199.63.65.55 \ ShareUser' – Kiran 2014-09-30 02:52:13

回答

0

终于找到了问题,我试图连接到2个不同的份额使用不同的用户在同一台​​机器,这显然不是由OS喜欢上。

一个解决方法是使用IP地址进行第一次共享访问,第二次使用机器名称,这使得Windows认为他们吃了2台不同的机器并提供不同的凭据。

如果我们知道它实际上是在抱怨多台连接到同一台机器,那么生活会变得如此简单。