WNetAddConnection2について


へのへのもへじ  2006-02-13 00:54:56  No: 94158

下記の様にドメインのある端末に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
です。


オショウ  2006-02-19 04:13:12  No: 94159

With NETRES_ST
    .dwScope = RESOURCE_GLOBALNET
    .dwType = RESOURCETYPE_DISK
    .lpLocalName = "接続時のローカルデバイス名"
    .lpRemoteName = "リソースの共有名"
End With

に、なるはずですが・・・

根本的に相手の『何』のリソースに認証コネクションを実行し
自分のマシンにどういう『デバイス』として接続するのでしょうか?

    .dwType = RESOURCETYPE_DISK

と、へのへのもへじさんの説明では、共有ディスクを自分のマシンに
マウントするだけだと思われるのですが・・・

お試し下さい。

以上。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加