TNB Library
クラス | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
CDialupManager クラス

ダイアルアップ管理クラス [詳解]

#include <TnbDialupManager.h>

+ CDialupManager の継承関係図

クラス

struct  IListener
 ダイアルアップのリスナーインターフェース [詳解]
 
struct  TDialParams
 ダイアルパラメータ型 [詳解]
 

公開メンバ関数

bool Attach (LPCTSTR lpszPhoneBook, LPCTSTR lpszEntryName, IListener *piDialupListener=NULL)
 [設定] アタッチ. [詳解]
 
 CDialupManager (void)
 コンストラクタ [詳解]
 
void Detach (void)
 [設定] デタッチ. [詳解]
 
DWORD Dial (const TDialParams &D, IListener *piDialupListener=NULL)
 [操作] ダイアル. [詳解]
 
CStr GetConnectedDeviceName (void) const
 [取得] デバイス名取得. [詳解]
 
DWORD GetConnectStatus (RASCONNSTATUS &_tStatus) const
 [取得] 接続状態取得 [詳解]
 
CStr GetIpAddress (void) const
 [取得] IPアドレス取得. [詳解]
 
DWORD HangUp (void)
 [操作] 切断. [詳解]
 
bool IsAttach (void) const
 [確認] アタッチしているか. [詳解]
 
 operator HRASCONN ()
 [取得] RASハンドル取得. [詳解]
 
CThreadStatusReferThreadStatus (void)
 [参照] 監視スレッド状態参照. [詳解]
 
virtual ~CDialupManager (void)
 デストラクタ [詳解]
 

静的公開メンバ関数

static bool CreatePhoneBookEntry (LPCTSTR lpszPhoneBook, LPCTSTR lpszEntryName, LPCTSTR lpszDeviceName, LPCTSTR lpszAreaCode, LPCTSTR lpszPhoneNumber, LPCTSTR lpszUserName, LPCTSTR lpszPassword)
 [作成] 電話エントリ作成 [詳解]
 
static CStrVector EnumConnectedEntryNames (void)
 [取得] 接続中エントリ名一覧 [詳解]
 
static CStrVector EnumDeviceNames (bool boIsModemOnly=true)
 [取得] 接続されているデバイス名一覧 [詳解]
 
static CStrVector EnumEntryNames (LPCTSTR lpszPhoneBook)
 [取得] エントリ名一覧 [詳解]
 
static int EnumModemPorts (CStrVector &_vstrModemNames)
 [取得] デバイス(モデム)名一覧. [詳解]
 
static TDialParams GetDialParams (LPCTSTR lpszPhoneBook, LPCTSTR lpszEntryName)
 [取得] エントリのダイアルパラメータ取得 [詳解]
 
static CStr GetErrorString (DWORD dwError)
 [変換] エラーコードを文字列に変換 [詳解]
 
static CStr GetIpAddress (HRASCONN hRasConn)
 [取得] 接続のIPアドレス取得 [詳解]
 
static HRASCONN GetRasConn (LPCTSTR lpszPhoneBook, LPCTSTR lpszEntryname)
 [確認] 指定Entry接続完了状態チェック [詳解]
 
static int SetUserInitCommand (LPCTSTR lpszModemName, LPCTSTR lpszCommand)
 [取得] デバイス初期化コマンド設定. [詳解]
 
static CStr StateToString (RASCONNSTATE eState)
 [変換] ステータスを文字列に変換 [詳解]
 

詳解

ダイアルアップ管理クラス

インスタンス一つにつき、一つのダイアルアップを管理、監視することができます。
すでに接続しているダイアルアップをアタッチすることも可能です。
覚え書き
リスナー内で SendMessage を使う場合、 ReferThreadStatus()関連ウィンドウを指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。
必要ファイル
TnbDialupManager.h
日付
06/04/01 新規作成
08/07/08 CEでの調整
10/03/19 ReferThreadStatus() 追加。

TnbDialupManager.h67 行目に定義があります。

構築子と解体子

◆ CDialupManager()

CDialupManager ( void  )

コンストラクタ

TnbDialupManager.h404 行目に定義があります。

◆ ~CDialupManager()

virtual ~CDialupManager ( void  )
virtual

デストラクタ

覚え書き
アタッチしていても HangUp() をコールしない限り自動的に切断することはありません。

TnbDialupManager.h413 行目に定義があります。

関数詳解

◆ Attach()

bool Attach ( LPCTSTR  lpszPhoneBook,
LPCTSTR  lpszEntryName,
IListener piDialupListener = NULL 
)

[設定] アタッチ.

アタッチ後、接続を監視します。

覚え書き
指定のエントリ名が接続されているかのチェックにもなります。
引数
lpszPhoneBook電話帳名。NULL指定可能。
lpszEntryNameエントリ名。
piDialupListenerリスナー。NULLを指定すると切断を監視しません。
戻り値
trueアタッチ成功
false失敗(コネクトされていない/本インスタンスが処理中/他のプロセスで接続中)

TnbDialupManager.h439 行目に定義があります。

◆ CreatePhoneBookEntry()

static bool CreatePhoneBookEntry ( LPCTSTR  lpszPhoneBook,
LPCTSTR  lpszEntryName,
LPCTSTR  lpszDeviceName,
LPCTSTR  lpszAreaCode,
LPCTSTR  lpszPhoneNumber,
LPCTSTR  lpszUserName,
LPCTSTR  lpszPassword 
)
static

[作成] 電話エントリ作成

引数
lpszPhoneBook電話帳名。NULL指定可能。
lpszEntryNameエントリ名。
lpszDeviceNameデバイス名。
lpszAreaCodeエリアコード(NULL指定可能)
lpszPhoneNumber電話番号。
lpszUserNameユーザ名。
lpszPasswordパスワード。
戻り値
true成功
false失敗

TnbDialupManager.h1014 行目に定義があります。

◆ Detach()

void Detach ( void  )

[設定] デタッチ.

覚え書き
Attach/Dialしていないときコールしても差し支えありません(何もしません)

TnbDialupManager.h575 行目に定義があります。

◆ Dial()

DWORD Dial ( const TDialParams D,
IListener piDialupListener = NULL 
)

[操作] ダイアル.

接続後、接続を監視します。

覚え書き
既につながっている場合、パラメータが異なっていても切断しません。
パラメータのデバイス名は、EnumDeviceNames()で得られた名前か、 Emptyを指定してください(Emptyの場合Deviceはデフォルトのまま)。
引数
Dダイアルパラメータ
piDialupListenerリスナー。NULLを指定すると接続成功するまでリターンしません。また切断を監視しません。
戻り値
0成功(非同期の場合、後で失敗が通知されることあり)
0以外エラー。 GetErrorString()で文字列化できます。

TnbDialupManager.h475 行目に定義があります。

◆ EnumConnectedEntryNames()

static CStrVector EnumConnectedEntryNames ( void  )
static

[取得] 接続中エントリ名一覧

戻り値
エントリ名一覧。無効ならAPIエラー発生。

TnbDialupManager.h783 行目に定義があります。

◆ EnumDeviceNames()

static CStrVector EnumDeviceNames ( bool  boIsModemOnly = true)
static

[取得] 接続されているデバイス名一覧

覚え書き
一覧作成にRAS-APIを使用しています。
引数
boIsModemOnlytrueならMODEMのみ。省略するとRAS管理のデバイスすべて。
戻り値
デバイスの名前の一覧。無効ならAPIエラー発生。

TnbDialupManager.h856 行目に定義があります。

◆ EnumEntryNames()

static CStrVector EnumEntryNames ( LPCTSTR  lpszPhoneBook)
static

[取得] エントリ名一覧

引数
lpszPhoneBook電話帳名。NULL指定可能。
戻り値
エントリ名一覧。無効ならAPIエラー発生。

TnbDialupManager.h745 行目に定義があります。

◆ EnumModemPorts()

static int EnumModemPorts ( CStrVector _vstrModemNames)
static

[取得] デバイス(モデム)名一覧.

COMxに対するデバイス名が得られます。

覚え書き
CStrVector のIndex 1が「COM1」のデバイス名、Index 2が「COM2」のデバイス名となります。 Emptyならデバイス無しです。
一覧作成にレジストリを参照しています。
引数
[out]_vstrModemNamesSizeは257になっており、COMポートがIndexで、それぞれに存在すればモデム名が格納される。
戻り値
発見数(配列数ではない)

TnbDialupManager.h902 行目に定義があります。

◆ GetConnectedDeviceName()

CStr GetConnectedDeviceName ( void  ) const

[取得] デバイス名取得.

本インスタンスで扱っている接続のデバイス名が得られます。

戻り値
デバイス名。アタッチ(接続)していない場合Emptyが返ります。

TnbDialupManager.h644 行目に定義があります。

◆ GetConnectStatus()

DWORD GetConnectStatus ( RASCONNSTATUS &  _tStatus) const

[取得] 接続状態取得

引数
[out]_tStatus状態
戻り値
0成功
0以外エラー。 GetErrorString()で文字列化できます。

TnbDialupManager.h631 行目に定義があります。

◆ GetDialParams()

static TDialParams GetDialParams ( LPCTSTR  lpszPhoneBook,
LPCTSTR  lpszEntryName 
)
static

[取得] エントリのダイアルパラメータ取得

引数
lpszPhoneBook電話帳名。NULL指定可能。
lpszEntryNameエントリ名。
戻り値
パラメータ。エラーの場合、無効なパラメータが返ります。

TnbDialupManager.h809 行目に定義があります。

◆ GetErrorString()

static CStr GetErrorString ( DWORD  dwError)
static

[変換] エラーコードを文字列に変換

引数
dwErrorエラーコード
戻り値
文字列

TnbDialupManager.h1078 行目に定義があります。

◆ GetIpAddress() [1/2]

static CStr GetIpAddress ( HRASCONN  hRasConn)
static

[取得] 接続のIPアドレス取得

引数
hRasConnRASのハンドル
戻り値
IPアドレス。未接続ならEmptyが返ります。

TnbDialupManager.h694 行目に定義があります。

◆ GetIpAddress() [2/2]

CStr GetIpAddress ( void  ) const

[取得] IPアドレス取得.

本インスタンスで扱っている接続のIPアドレスが得られます。

戻り値
IPアドレス。アタッチ(接続)していない場合Emptyが返ります。

TnbDialupManager.h661 行目に定義があります。

◆ GetRasConn()

static HRASCONN GetRasConn ( LPCTSTR  lpszPhoneBook,
LPCTSTR  lpszEntryname 
)
static

[確認] 指定Entry接続完了状態チェック

引数
lpszPhoneBook電話帳名。NULL指定可能。
lpszEntrynameエントリ名。
戻り値
RASのハンドル。NULLなら未接続(接続処理中も含む)

TnbDialupManager.h713 行目に定義があります。

◆ HangUp()

DWORD HangUp ( void  )

[操作] 切断.

本インスタンスで、Dial か Attachした接続を、切断します。

戻り値
0成功。(接続していない場合も成功になります)
0以外エラー。 GetErrorString()で文字列化できます。

TnbDialupManager.h594 行目に定義があります。

◆ IsAttach()

bool IsAttach ( void  ) const

[確認] アタッチしているか.

覚え書き
Dialした場合もアタッチ常態になります。
戻り値
trueアタッチしている
falseアタッチしていない

TnbDialupManager.h424 行目に定義があります。

◆ operator HRASCONN()

operator HRASCONN ( )

[取得] RASハンドル取得.

本インスタンスで扱っている接続のRASハンドルが得られます。

戻り値
ハンドル。アタッチ(接続)していない場合NULLになります。

TnbDialupManager.h671 行目に定義があります。

◆ ReferThreadStatus()

CThreadStatus & ReferThreadStatus ( void  )

[参照] 監視スレッド状態参照.

戻り値
スレッド状態の参照.

TnbDialupManager.h680 行目に定義があります。

◆ SetUserInitCommand()

static int SetUserInitCommand ( LPCTSTR  lpszModemName,
LPCTSTR  lpszCommand 
)
static

[取得] デバイス初期化コマンド設定.

指定デバイス(モデム)の「追加の初期化コマンド」を設定します。

覚え書き
レジストリを操作しています。
引数
lpszModemNameデバイス(モデム)名。
lpszCommand追加の初期化コマンド。NULLを指定すると、クリアします。
戻り値
true成功。
false失敗。

TnbDialupManager.h960 行目に定義があります。

◆ StateToString()

static CStr StateToString ( RASCONNSTATE  eState)
static

[変換] ステータスを文字列に変換

引数
eStateステータスコード
戻り値
文字列

TnbDialupManager.h1104 行目に定義があります。