掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ネットワーク上のファイルにアクセスする際、IDとパスワードを入力させるには? (ID:21251)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
次の関数を使って、リモートログオン認証ができました。(リモートログオフは、まだテストしていませんが) kkkさん、ありがとうございます。 function LoginExecute(Host, UserName, Passwd: string): DWord; var NetRes: TNetResource; str: String; begin FillChar(NetRes, SizeOf(NetRes), 0); //何をやっているのだろう? NetRes.dwType := RESOURCETYPE_DISK; str := '\\' + Host + '\IPC$'; //IPC$とは何だろう? NetRes.lpRemoteName := PChar(str); //接続先ネットワークリソース名をセット //最終パラメータは、ネットワークリソースへの接続を記憶するフラグ→Nullの場合記憶しない Result := WNetAddConnection2(NetRes, PChar(Passwd), PChar(UserName), CONNECT_UPDATE_PROFILE); end; 無事動作できたものの、いくつかわからないことが残ってしまいました。 よろしければ、どなたか教えてください。m(__)m 疑問1.次の行は何をやっていることになるのでしょうか? FillChar(NetRes, SizeOf(NetRes), 0); //何をやっているのだろう? ボーランドのページ:C++でのコードでも同じ処理がされています。 コード的には、NetResをすべて0で埋めていることは理解できますが、その意味がわかりません。 このコードにより、どのような意味が出てくるのでしょうか? 疑問2.IPC$とは何なのでしょう? str := '\\' + Host + '\IPC$'; //IPC$とは何だろう? ボーランドのホームページの説明から推測すると、マイクロソフトのネットワーク関連のものなのかな? 疑問3.ネットワークリソースへの接続を記憶しない方法は? 記憶するとログオン時に復元されますが、記憶させたくないときはどのようにすればよいでしょう? Win32APIリファレンスを参照し、第4引数がNullだと記憶しないということで、次のコードにしてみました。 Result := WNetAddConnection2(NetRes, PChar(Passwd), PChar(UserName), Null); その結果、次のエラーが出てしまいました。 バリアントの型変換が正しくありません 記憶させない場合、WNetAddConnection2の第4引数をどのように設定するのでしょうか? 以上、細かい内容で申し訳ありませんが、どうぞご指導お願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.