TNB Library
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CDialupWatcher クラス

ダイアルアップ接続監視クラス [詳解]

#include <TnbDialupWatcher.h>

+ CDialupWatcher の継承関係図

クラス

struct  IListener
 ダイアルアップ接続監視のリスナーインターフェース [詳解]
 
struct  TConnectInfo
 ダイアルアップ接続状態情報型 [詳解]
 

公開メンバ関数

 CDialupWatcher (void)
 コンストラクタ [詳解]
 
void ClearConnectInfo (void)
 [設定] 接続情報の初期化. [詳解]
 
const TConnectInfoGetConnectInfo (void)
 [参照] 接続情報参照 [詳解]
 
DWORD GetConnectSpan (void)
 [参照] 接続時間参照 [詳解]
 
bool IsConnect (void)
 [確認] 接続チェック [詳解]
 
CThreadStatusReferThreadStatus (void)
 [参照] 監視スレッド状態参照. [詳解]
 
void SetListener (IListener *I=NULL)
 [登録] Listner登録 [詳解]
 
bool Start (LPCTSTR lpszPhoneBook, LPCTSTR lpszEntryName, int iCheckInterval=E_CheckInterval)
 [操作] 監視開始. [詳解]
 
void Stop (void)
 [操作] 監視停止. [詳解]
 
virtual ~CDialupWatcher (void)
 デストラクタ [詳解]
 

限定公開メンバ関数

virtual DWORD Run (void)
 スレッド処理本体 [詳解]
 

限定公開変数類

DWORD m_dwConnectedTick
 接続した時の時間
[詳解]
 
HRASCONN m_hRasConn
 接続中のハンドル
[詳解]
 
int m_iCheckInterval
 状態チェックの間隔 ms
[詳解]
 
INDEX m_mibIndex
 接続中のMIBインデックス [詳解]
 
IListenerm_piListener
 リスナー
[詳解]
 
CStr m_strEntryName
 エントリ名
[詳解]
 
CStr m_strPhoneBook
 電話帳名
[詳解]
 
CThread m_threadWatch
 スレッド管理
[詳解]
 
TConnectInfo m_tInfo
 接続状態
[詳解]
 
CByteVector m_vbIfTableTmp
 GetIfTable用テンポラリ
[詳解]
 

詳解

ダイアルアップ接続監視クラス

クラス一つにつき、一つのダイアルアップエントリを監視できます。
覚え書き
本クラスにDialUpの機能は有りません
リスナー内で SendMessage を使う場合、 ReferThreadStatus()関連ウィンドウを指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。
todo:
送受信数、接続時間をDWORDで管理しているため、4Gでオーバーフローします。 対策は可能か?
必要ファイル
TnbDialupWatcher.h
日付
06/04/01;新規作成。
06/06/29;リスナー追加。
10/03/19 ReferThreadStatus() 追加。

TnbDialupWatcher.h50 行目に定義があります。

構築子と解体子

◆ CDialupWatcher()

CDialupWatcher ( void  )

コンストラクタ

TnbDialupWatcher.h216 行目に定義があります。

◆ ~CDialupWatcher()

virtual ~CDialupWatcher ( void  )
virtual

デストラクタ

TnbDialupWatcher.h223 行目に定義があります。

関数詳解

◆ ClearConnectInfo()

void ClearConnectInfo ( void  )

[設定] 接続情報の初期化.

通常切断時に使用します。

TnbDialupWatcher.h252 行目に定義があります。

◆ GetConnectInfo()

const TConnectInfo & GetConnectInfo ( void  )

[参照] 接続情報参照

戻り値
接続中は現在の情報。違う場合、最後の切断時の状態の情報。

TnbDialupWatcher.h261 行目に定義があります。

◆ GetConnectSpan()

DWORD GetConnectSpan ( void  )

[参照] 接続時間参照

戻り値
接続中は現在の情報。違う場合、最後の切断時の状態の情報。

TnbDialupWatcher.h275 行目に定義があります。

◆ IsConnect()

bool IsConnect ( void  )

[確認] 接続チェック

戻り値
true接続中。
false監視スタートしていない or接続していない。

TnbDialupWatcher.h243 行目に定義があります。

◆ ReferThreadStatus()

CThreadStatus & ReferThreadStatus ( void  )

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

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

TnbDialupWatcher.h340 行目に定義があります。

◆ Run()

virtual DWORD Run ( void  )
protectedvirtual

スレッド処理本体

戻り値
0(固定)。

CThread::IRunnerを実装しています。

TnbDialupWatcher.h145 行目に定義があります。

◆ SetListener()

void SetListener ( IListener I = NULL)

[登録] Listner登録

覚え書き
登録できる CDialupWatcher::IListener は一つだけです。
引数
Iリスナー。省略すると解除になります。

TnbDialupWatcher.h233 行目に定義があります。

◆ Start()

bool Start ( LPCTSTR  lpszPhoneBook,
LPCTSTR  lpszEntryName,
int  iCheckInterval = E_CheckInterval 
)

[操作] 監視開始.

指定の内容で監視します。

引数
lpszPhoneBook電話帳名。NULL指定可能。
lpszEntryNameエントリ名
iCheckInterval監視間隔。省略すると500ms。
戻り値
true監視開始
false失敗(エントリー名が不正の場合)

TnbDialupWatcher.h302 行目に定義があります。

◆ Stop()

void Stop ( void  )

[操作] 監視停止.

監視を停止します。

TnbDialupWatcher.h284 行目に定義があります。

メンバ詳解

◆ m_dwConnectedTick

DWORD m_dwConnectedTick
protected

接続した時の時間

TnbDialupWatcher.h133 行目に定義があります。

◆ m_hRasConn

HRASCONN m_hRasConn
protected

接続中のハンドル

TnbDialupWatcher.h134 行目に定義があります。

◆ m_iCheckInterval

int m_iCheckInterval
protected

状態チェックの間隔 ms

TnbDialupWatcher.h138 行目に定義があります。

◆ m_mibIndex

INDEX m_mibIndex
protected

接続中のMIBインデックス

TnbDialupWatcher.h135 行目に定義があります。

◆ m_piListener

IListener* m_piListener
protected

リスナー

TnbDialupWatcher.h139 行目に定義があります。

◆ m_strEntryName

CStr m_strEntryName
protected

エントリ名

TnbDialupWatcher.h132 行目に定義があります。

◆ m_strPhoneBook

CStr m_strPhoneBook
protected

電話帳名

TnbDialupWatcher.h131 行目に定義があります。

◆ m_threadWatch

CThread m_threadWatch
protected

スレッド管理

TnbDialupWatcher.h130 行目に定義があります。

◆ m_tInfo

TConnectInfo m_tInfo
protected

接続状態

TnbDialupWatcher.h137 行目に定義があります。

◆ m_vbIfTableTmp

CByteVector m_vbIfTableTmp
protected

GetIfTable用テンポラリ

TnbDialupWatcher.h136 行目に定義があります。