ネットワークドライブの割り当て
- 題名: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/13 11:40:32
- ID: 20066
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ネットワークドライブの割り当て
- 著者: まどか
- 日時: 2007/07/13 15:47:43
- ID: 20070
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/13 16:59:32
- ID: 20072
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: ネットワークドライブの割り当て
- 著者: まどか
- 日時: 2007/07/13 17:36:06
- ID: 20073
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/17 9:07:14
- ID: 20087
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/17 11:20:12
- ID: 20089
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: ネットワークドライブの割り当て
- 著者: まどか
- 日時: 2007/07/17 11:59:15
- ID: 20090
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/17 15:34:01
- ID: 20092
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[8]: ネットワークドライブの割り当て
- 著者: maru
- 日時: 2007/07/20 14:38:22
- ID: 20103
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつも拝見しています。分からないことがあるので教えてください。
APIによるネットワークドライブの割り当てについてです。
ネットで調べてサンプルはたくさんあるのですが、どうやってもうまくいきません。現時点では、エラーコード1200が返ってきます。長くなってしまいますが
現在のソースです。
'////API
'ネットワークドライブをマッピングするAPI
'arg1:接続するリソースを指定するNETRESOURCE構造体のデータ
'arg2:接続の際に使用するパスワード。NULLを指定可能
'arg3:接続の際に使用するユーザ名。NULLを指定可能
'arg4:接続の種類を表すビットマスク
<DllImport("mpr.dll", CharSet:=CharSet.Auto)> _
Friend Function WNetAddConnection2(ByRef lpNetResource As NETRESOURCE,_
ByVal lpPassword As String, _
ByVal lpUserName As String, _
ByVal dwFlags As Int32) As Int32
End Function
Friend Structure NETRESOURCE
Dim dwScope As Int32 'リソースの範囲
Dim dwType As Int32 'リソースの種類
Dim dwDisplayType As Int32 '表示タイプ
Dim dwUsage As Int32 'リソースの用途
Dim lpLocalName As String 'ドライブ名
Dim lpRemoteName As String 'リモート名
Dim lpComment As String '
Dim lpProvider As String '
End Structure
'================================================
'dwScope // リソースの範囲
'列挙するリソースの範囲を指定します。次の値のいずれかを指定します
'================================================
'現在接続されているすべてのリソース(dwUsage パラメータ
'は無視されます)
Friend Const RESOURCE_CONNECTED = &H1
'呼び出し側のネットワークコンテキスト内([ネットワーク
'コンピュータ]に表示される範囲)のリソース(dwUsage
'パラメータは無視されます)
Friend Const RESOURCE_CONTEXT = &H5
'ネットワーク上のすべてのリソース
Friend Const RESOURCE_GLOBALNET = &H2
'記憶されている接続(dwUsage パラメータは無視されます)
Friend Const RESOURCE_REMEMBERED = &H3
'================================================
'dwType // リソースの種類
'列挙するリソースの種類を指定します。次の値を組み合わせて指定します
'================================================
'すべてのリソース(RESOURCETYPE_DISK または RESOURCETYPE_PRINT
'との組み合わせは不可)
Friend Const RESOURCETYPE_ANY = &H0
'すべてのディスクリソース
Friend Const RESOURCETYPE_DISK = &H1
'すべての印刷リソース
Friend Const RESOURCETYPE_PRINT = &H2
'================================================
'dwDisplayType // 表示タイプ
'エクスプローラなどで表示されるオブジェクトのタイプ
'================================================
'一般
Friend Const RESOURCEDISPLAYTYPE_GENERIC = &H0
'ドメイン
Friend Const RESOURCEDISPLAYTYPE_DOMAIN = &H1
'サーバ
Friend Const RESOURCEDISPLAYTYPE_SERVER = &H2
'共有
Friend Const RESOURCEDISPLAYTYPE_SHARE = &H3
'================================================
'dwUsage // リソースの用途
'列挙するリソースの用途を指定します。次の値を組み合わせて指定します。
'================================================
'0 すべてのリソース
' すべての接続可能なリソース
Friend Const RESOURCEUSAGE_CONNECTABLE = &H1
' すべてのコンテナリソース
Friend Const RESOURCEUSAGE_CONTAINER = &H2
Friend Const CONNECT_UPDATE_PROFILE As Int32 = &H1
Function ConnectNetworkDrive(ByVal i_remotename As String, _
ByVal i_drivename As String, _
ByVal i_username As String, _
ByVal i_password As String)As Boolean
ConnectNetworkDrive = False
Dim netres As NETRESOURCE
Dim ret As Int32
With netres
.dwScope = RESOURCE_GLOBALNET
.dwType = RESOURCETYPE_ANY
.dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC
.lpLocalName = i_drivename
.lpRemoteName = i_remotename
End With
ret = WNetAddConnection2(netres, i_password, i_username, 0)
If ret = 0 Then Return True
End Function
API呼び出し側
ConnectNetworkDrive("\\127.0.0.1\TEST", "M:", "user", "pass")
ユーザとパスワードは入れても入れなくても同じ状況です。
実現方法は別にAPIでなくても構わないのですが、なぜできないのかが
まず知りたいです。お願い致します。