I try to map a network drive in VB using WNetAddConnection2. I've done it in C++ with no problems, but it won't work in VB. I get an error 487 (Unknown error, I think)

Code:
#Region "External_stuff"

    Private Const NO_ERROR As Long = 0
    Private Const CONNECT_UPDATE_PROFILE As Long = &H1
    Private Const RESOURCETYPE_DISK As Long = &H1
    Private Const RESOURCE_GLOBALNET As Long = &H2
    Private Const RESOURCEDISPLAYTYPE_SHARE As Long = &H3
    Private Const RESOURCEUSAGE_CONNECTABLE As Long = &H1
    Private Const RESOURCETYPE_ANY As Long = &H0

    Private Const SW_SHOWNORMAL As Long = 1

    Private Structure NETRESOURCE
        Public dwScope As Long
        Public dwType As Long
        Public dwDisplayType As Long
        Public dwUsage As Long
        Public lpLocalName As String
        Public lpRemoteName As String
        Public lpComment As String
        Public lpProvider As String
    End Structure


    Private Declare Function WNetAddConnection2 Lib "mpr.dll" _
       Alias "WNetAddConnection2A" _
      (ByVal lpNetResource As NETRESOURCE, _
       ByVal lpPassword As String, _
       ByVal lpUserName As String, _
       ByVal dwFlags As Long) As Long

    Private Declare Function WNetCancelConnection2 Lib "mpr.dll" _
       Alias "WNetCancelConnection2A" _
      (ByVal lpName As String, _
       ByVal dwFlags As Long, _
       ByVal fForce As Long) As Long

    Private Declare Function ShellExecute Lib "shell32.dll" _
        Alias "ShellExecuteA" _
       (ByVal hwnd As Long, _
        ByVal lpOperation As String, _
        ByVal lpFile As String, _
        ByVal lpParameters As String, _
        ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) As Long

#End Region

    Private Function ConnectNetDrive(ByVal serverpath As String, ByVal driveletter As String) As Boolean

        'attempts to connect to the passed network
        'connection to the specified drive.
        'ErrInfo=NO_ERROR if sucessful.

        Dim NETR As NETRESOURCE
        Dim errInfo As Long

        NETR = New NETRESOURCE


        With NETR
            .dwScope = RESOURCE_GLOBALNET
            .dwType = RESOURCETYPE_DISK
            .dwDisplayType = RESOURCEDISPLAYTYPE_SHARE
            .dwUsage = RESOURCEUSAGE_CONNECTABLE
            .lpRemoteName = serverpath
            .lpLocalName = driveletter
            .lpProvider = vbNullString
        End With

        errInfo = WNetAddConnection2(NETR, TextBox4.Text, TextBox3.Text, 0) 'CONNECT_UPDATE_PROFILE)
        'vbNullString, "birchr", CONNECT_UPDATE_PROFILE)
        TextBox5.Text = errInfo.ToString()


        ConnectNetDrive = errInfo = NO_ERROR

    End Function



    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ConnectNetDrive(TextBox2.Text, TextBox1.Text)

    End Sub
Any ideas?

Thank you in advance