WNetAddConnection2引发访问被拒绝错误

时间:2018-09-23 21:32:44

标签: .net networking

我正在尝试连接到本地网络上的文件。 该文件与任何人共享,并具有读取和写入权限。 我没有设置任何密码。

我可以在计算机上的Windows资源管理器中访问此文件,也可以对其进行读写。

但是,当我尝试使用下面的代码连接到文件时,WNetAddConnection2返回5,表示“访问被拒绝”。

我以管理员身份运行VS 2017,只需确保我具有足够的凭据,但这不会更改任何内容。

运行代码时,我没有在Windows资源管理器中打开此文件。

有人可以建议我下一步检查什么吗?

谢谢!

Private Sub btnServer_Click(sender As Object, e As EventArgs) Handles btnServer.Click

    Dim nr As New NETRESOURCE
    nr.dwType = RESOURCETYPE_DISK
    nr.lpRemoteName = "\\WIN-AJUUS3V93E5\Users\MyUser\Desktop\vm7share\aa.user.db"

    Dim iRet As UInteger
    iRet = WNetAddConnection2(nr, "", "", 0)
    If iRet <> NO_ERROR Then
        If iRet = 65 Then
            MessageBox.Show("Wrong path!")
        ElseIf iRet = 1219 Then
            MessageBox.Show("Another connection (perhaps in Windows Explorer) already exists. Close that connection first!")
        ElseIf iRet = 5 Then
            MessageBox.Show("Access denied!")
        Else
            Throw New Exception("WNetAddConnection2 failed.")
        End If
    End If

End Sub

1 个答案:

答案 0 :(得分:1)

在这里耦合问题。

该函数的第二个和第三个参数是用户名和密码。 documentation说要使用当前登录的用户,必须传递null。您传递的是空字符串。尝试将""替换为null,然后看看会发生什么。

另一种,我认为您提供的是太具体的远程资源。我认为您无法WNetAddConnection2访问单个文件。仅指定服务器+共享,即"\\WIN-AJUUS3V93E5\Users"如果可以正常工作,请尝试使用目录,即"\\WIN-AJUUS3V93E5\Users\MyUser\Desktop\vm7share\