RasDialについて
- 題名: RasDialについて
- 著者: tom
- 日時: 2008/02/24 20:00:11
- ID: 21501
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: RasDialについて
- 著者: オショウ
- 日時: 2008/02/27 9:55:27
- ID: 21517
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: RasDialについて
- 著者: tom
- 日時: 2008/02/27 11:26:27
- ID: 21521
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
RasDialについて
VS2005から、Ras接続にてダイヤルアップを行おうとしているのですが、
621 : 電話帳ファイルを開くことができませんでした。
というエラーが発生し、接続することができません。
もともとは、VB6.0から移植することがメインで、
・RASエラーの取得のAPI
・RASのエントリー取得のAPI
まではこぎつけたのですが、実際の接続ができない状態です。
どなたか、ご存知のかた、いらっしゃいますでしょうか?
(C#でもVB.NETでもどちらでもOKです。)
参考までに、接続に必要なソースを記述させていただきます。
(当然ながら、VB6.0では、できております。)
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
internal struct RASDIALPARAMS
{
public int dwSize;
public byte[] szEntryName;
public byte[] szPhoneNumber;
public byte[] szCallbackNumber;
public byte[] szUserName;
public byte[] szPassword;
public byte[] szDomain;
}
[DllImport("Rasapi32.dll", EntryPoint = "RasDialA")]
private static extern uint RasDial(
uint lpRasDialExtensions,
StringBuilder lpszPhonebook,
ref RASDIALPARAMS lpRasDialParams,
uint dwNotifierType,
uint lpvNotifier,
ref uint lphRasConn);
//(処理)
//---- 構造体の領域作成 ----
RASDIALEXTENSIONS typeRasExtentions = new RASDIALEXTENSIONS();
typeRasParameters.dwSize = 736; // 構造体のサイズ
typeRasParameters.szEntryName = new byte[21]; // ダイヤルアップエントリー名
typeRasParameters.szPhoneNumber = new byte[129]; // 電話番号
typeRasParameters.szCallbackNumber = new byte[49]; // コールバックナンバー
typeRasParameters.szUserName = new byte[257]; // ユーザ名
typeRasParameters.szPassword = new byte[257]; // パスワード
typeRasParameters.szDomain = new byte[16]; // ドメイン名
//==== パラメータ設定 ====
lstrcpy(typeRasParameters.szEntryName, "EntryName");
typeRasParameters.szPhoneNumber[0] = 0;
typeRasParameters.szCallbackNumber[0] = 0;
lstrcpy(typeRasParameters.szUserName, "UserName");
lstrcpy(typeRasParameters.szPassword, "password");
lstrcpy(typeRasParameters.szDomain, "DomainName");
StringBuilder lpszPhonebook = new StringBuilder();
uintRet = RasDial(
lpRasDialExtensions,
lpszPhonebook,
ref typeRasParameters,
0,
0,
ref lphRasConn);
※ 上記が現在のバージョンです。
・引数の型を uint → int
・lpszPhonebook を int にし「0」を設定
同等になります。