DOBON.NET DOBON.NETプログラミング掲示板過去ログ

RasDialについて

  • 題名: RasDialについて
  • 著者: tom
  • 日時: 2008/02/24 20:00:11
  • ID: 21501
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[WinXP、VS2005]
分類:[.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」を設定
同等になります。
■No21501に返信(tomさんの記事)
> RasDialについて
>
> VS2005から、Ras接続にてダイヤルアップを行おうとしているのですが、
>  621 : 電話帳ファイルを開くことができませんでした。
> というエラーが発生し、接続することができません。

  各種宣言を見直された方がよいですヨ!
  因みに、参考になるのがこちらのサイト
  http://www.pinvoke.net/index.aspx

以上。
  • 題名: Re[2]: RasDialについて
  • 著者: tom
  • 日時: 2008/02/27 11:26:27
  • ID: 21521
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
>>VS2005から、Ras接続にてダイヤルアップを行おうとしているのですが、
>> 621 : 電話帳ファイルを開くことができませんでした。
>>というエラーが発生し、接続することができません。
>
>   各種宣言を見直された方がよいですヨ!
>   因みに、参考になるのがこちらのサイト
>   http://www.pinvoke.net/index.aspx

オショウさん
ありがとうございます。

私もそのあたりがあやしい(特に構造体)を見直しております。

上記のサイトは気がつきましせんでした。
非常に参考になります。

ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板