【问题标题】:WNetAddConnection2 returns 1219WNetAddConnection2 返回 1219
【发布时间】:2011-06-01 20:32:58
【问题描述】:

我正在使用 WNetAddConnection2 和 WNetCancelConnection2 映射或取消映射驱动器。

我想要做的如下:
我在服务器(例如:myserver)上映射了一个文件夹(例如:Folder1)。所以路径是 \\myserver\Folder1 我将它映射到驱动器 X。
现在我想在同一个 myserver 上映射另一个文件夹(例如:Folder2)以编程方式驱动 Y。

当我在映射一个文件夹后调用 WNetAddConnection2 方法时,它返回 1219 而不是 0,并且我收到错误:不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试。

我很困惑,因为我可以通过右键单击 MyComputer 并选择映射网络驱动器来将 Folder2 映射到同一服务器上...,但不是以编程方式。

我是否遗漏了什么,或者我是否需要以不同的方式使用 NETRESOURCE 结构或其他任何东西?

谢谢

【问题讨论】:

    标签: .net networking drive-mapping wnet


    【解决方案1】:

    您是否也在以编程方式映射 X:?如果是这样,您在调用 WNetAddConnection2() 时是否使用相同的用户名和密码规范? 1219 错误表明您正在尝试使用不同的身份验证将多个驱动器映射到同一服务器。使用相同的用户/密码组合时,我已成功地将多个 WNetAddConnection2() 设置为同一服务器上的多个共享。

    【讨论】:

    • 是的,我后来发现,通过更改 wnetaddconnection2 方法的标志值,我可以使用相同的凭据映射同一服务器上的不同文件夹......但现在我正在尝试映射 2 个不同的文件夹具有 2 个不同用户/通行证凭据的同一台服务器,并且不能以编程方式或其他方式工作..
    • Windows 并不想允许这样做,但是有不同的黑客使用别名或主机名与 IP 地址等来尝试实现这一点。见这里link
    • 我的代码遇到了这个错误。我刚刚发现了错误,忽略了它,一切正常。可能不是一个好主意,但它对我有用。
    【解决方案2】:

    万一其他人有这个问题,我碰巧在资源管理器窗口中打开了有问题的文件共享而没有意识到。我关闭了窗口,然后代码运行正常。

    【讨论】:

      【解决方案3】:

      回复很晚,但希望能有所帮助。我的做法是在 C# 中调用 net delete 命令。

      ////

      string strParam = @"/c net use * /delete /Y";
      string strOutput = MappedDriveResolver.DoProcess("cmd", strParam);
      
      public static string DoProcess(string cmd, string argv)
        {
            Process p = new Process();
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.FileName = cmd;
            p.StartInfo.Arguments = argv;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            p.WaitForExit();
            string output = p.StandardOutput.ReadToEnd();
            p.Dispose();
            return output;
            }
      

      ////

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        相关资源
        最近更新 更多