ネットワークの共有領域をドライブに割り当てる方法を記載します。

ネットワーク接続には、 WNetAddConnection2() ネットワーク切断には、WNetCancelConnection2()を使用します。

ネットワークドライブ割り当て

Imports System.Runtime.InteropServices

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

'ネットワークドライブへの接続
Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (ByRef lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Integer) As Integer
Dim netRes As NETRESOURCE

' ネットワーク・リソースの設定
netRes.dwScope = 0
netRes.dwType = 1
netRes.dwDisplayType = 0
netRes.dwUsage = 0
netRes.lpComment = Nothing
netRes.lpLocalName = "U:"
netRes.lpProvider = Nothing
netRes.lpRemoteName = "\\192.168.2.120\共有"

Dim strUserName = "user" 'ユーザ名
Dim strPassword = "pass" 'パスワード

' 接続
Dim rc = WNetAddConnection2(netRes, strUserName, strPassword, 0)

第1引数のNETRESOURCEに接続の詳細を設定します。

第2引数は、サーバーに接続するユーザ名です。

第3引数は、サーバーに接続するパスワードです。

第4引数は、ネットワークの接続を記憶の有無です。

ネットワークドライブ解除

Imports System.Runtime.InteropServices

'ネットワークドライブの切断
Public Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Integer, Optional ByVal fForce As Boolean = False) As Boolean

' 切断
Dim rc = WNetCancelConnection2("U:", 0, False)