下記の様にドメインのある端末にWNetAddConnection2APIにて接続
を行っています。
Dim NETRES_ST As NETRESOURCE
Dim ret As Long
'ネットワークリソースに関する情報を設定
With NETRES_ST
.dwType = RESOURCETYPE_DISK
.lpLocalName = vbNullString
.lpRemoteName = "\\ドメイン名\フォルダ名"
.lpProvider = vbNullString
End With
'ネットワーク接続
ret = WNetAddConnection2(NETRES_ST, "パスワード", "ドメイン名\ユーザID", CONNECT_UPDATE_PROFILE)
'ret = WNetAddConnection2(NETRES_ST, "パスワード", "ドメイン名\ユーザID", CONNECT_INTERACTIVE)
'ret = WNetAddConnection2(NETRES_ST, "パスワード", "ドメイン名\ユーザID", 0)
If ret = 0 Then
'OK
Else
'Error
End If
エラーが出て接続出来ないのではなく、正常に接続できるのですが、
接続時間が異常に長いのです。
普通のエクスプローラから「ツール」→「ネットワークドライブの
割り当て」でネットワークドライブの割り当てを行った時間よりも
はるかにWNetAddConnection2関数の方が約5倍程度接続時間が掛かります。
(接続に約15秒くらい掛かってます。)
これは仕様なのでしょうか?もしくは、パラメータの設定がまずいので
しょうか?もしそうであればご助言よろしくお願いします。
※環境にも依存しそうですよね。
Win XP Pro SP2
VB6 SP6
です。
With NETRES_ST
.dwScope = RESOURCE_GLOBALNET
.dwType = RESOURCETYPE_DISK
.lpLocalName = "接続時のローカルデバイス名"
.lpRemoteName = "リソースの共有名"
End With
に、なるはずですが・・・
根本的に相手の『何』のリソースに認証コネクションを実行し
自分のマシンにどういう『デバイス』として接続するのでしょうか?
.dwType = RESOURCETYPE_DISK
と、へのへのもへじさんの説明では、共有ディスクを自分のマシンに
マウントするだけだと思われるのですが・・・
お試し下さい。
以上。
ツイート | ![]() |