WNetAddConnection2と、NET USEコマンド


API関数、WNetAddConnection2を使用してネットワーク資源へ接続する時、
USERとPASSWORDをパラメタで渡すのだが、そいつで嵌った。


テスト環境は、オイラからオイラに接続する事にした。
もちろん、オイラの端末にはユーザもパスワードも設定されている。
ただ、本番の環境は特に無い。
なので、プログラムでも、USERもPASSWORDも渡してなかった。
コマンド、NET USE でも出来たので、動くだろうと思ったのだが、上手く繋がらない。
0x0005(ERROR_ACCESS_DENIED)が返ってきちゃう。


さんざん悩んだ挙句、オイラのUSERとPASSWORDを渡すようにしたら、あっさり成功。
もっと早くやってればよかったんだが、どうにも合点がいかない。


そういうものなのかな?
コマンドも、モジュールも同じ権限で実行してる訳じゃないんだ。
何とか合点のいく答えを探したい。


追記:
ちょっと忙しくて、調べる暇が出来るまで残すべく、ここにちょっと残す

'NETRESOURCE構造体初期化(省略)
'接続(パスワード、ユーザー共になし)
lngRet = WNetAddConnection2(typNETRESOURCE, パスワード, ユーザー, 0)
If lngRet <> 0 Then
'接続失敗の場合エラー
Exit Function
End If
'接続解除
lngRet = WNetCancelConnection2(接続パス, CONNECT_UPDATE_PROFILE, 1)

'コマンド
NET USE 接続パス パスワード /user:ユーザー