C#でのWNetAddConnection3の使い方を教えてください
現在、C#(VisualStudio2005)で共有フォルダの認証を行い、
そのフォルダ内のファイルを読み込む処理を行ないたいと考えています。
■動作------------------------------------------------------
1.ボタン押下によってフォルダ(\\aaa)をユーザ(user)、パスワード(pass)で認証を行なう
2.ファイル(bbb.txt)の内容をメッセージボックスに出力する
3.認証を切る
■現在の実装状況--------------------------------------------
private void btnGetShareFileData_Click(object sender, EventArgs e)
{
NETRESOURCE netresource = new NETRESOURCE();
netresource.dwType = 1;
netresource.lpLocalName = null;
netresource.lpRemoteName = "\\\\aaa";
netresource.lpProvider = null;
try
{
int returnNo1 = WNetAddConnection3(IntPtr.Zero, ref netresource, "user", "pass", 0);
System.IO.StreamReader streamReader =
new System.IO.StreamReader("\\\\aaa\\bbb.txt", System.Text.Encoding.GetEncoding(932));
MessageBox.Show(streamReader.ReadToEnd());
int returnNo2 = WNetCancelConnection2("\\\\aaa", "0", true);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
[StructLayout(LayoutKind.Sequential)]
public struct NETRESOURCE
{
public int dwType;
public string lpLocalName;
public string lpRemoteName;
public string lpProvider;
}
[DllImport("mpr.dll")]
private static extern int WNetAddConnection3(
System.IntPtr hWndOwner,
ref NETRESOURCE lpNetResource,
string lpPassword,
string lpUserName,
int dwFlags
);
[DllImport("mpr.dll")]
private static extern int WNetCancelConnection2(
string lpName,
string dwFlags,
bool fForce
);
[DllImport("mpr.dll")]
private static extern int WNetAddConnection2(
ref NETRESOURCE lpNetResource,
string lpPassword,
string lpUsername,
int dwFlags
);
■結果------------------------------------------------------
WNetAddConnection3の戻り値が「487」で
System.IO.StreamReader streamReaderを実行されると
「ログオン失敗:ユーザ名を認識できないかまたはパスワードが間違っています。」
とエラーになってします。
WNetAddConnection3でのログオン自体がうまくできていないのでしょうですが、
どうすればよいのかがわかりません。
(ちなみにWNetAddConnection2でやってみても同様です)
どなたか教えていただけないでしょうか?
いろいろなページは参考にさせていただいているのですが、
知識が足らず読み解くことができないので、
できればサンプルコード等を教えていただけると助かります。
よろしくお願いいたします。