リモートアクセスOCXの詳細


以下のドキュメントは初期バージョンのものです。バージョン2につきましては下記機能に加えてこちらの内容が追加されています。


Remote Access Service

Remote Access Service(RAS)は電話回線を利用し、遠隔地から目的のNetworkに接続するためのサービスです。Networkには様々なプロトコルがありますがWindows9598NTの場合NetBeui IPX/SPX TCP/IPがサポートされています。RASにより接続しますと、速度を除いてはLANで接続されている状態と全く同じになります。この機能によりLAN用に作成されたアプリケーションがはるか遠方から利用できるようになります。

リモートアクセス.OCXの利用価値

ネットワークを利用したアプリケーションを作成する場合、その利用者にダイアルアップユーザーも少なからずいるのではないでしょうか? そのような時、作成するアプリケーションにダイアルアップ機能をつけたくなるものです。そんな時にこのコントロールは非常に簡単にその願いを実現してくれます。

また、ネットワークシステム管理者としてはなるべくサーバーの電話番号やユーザー名、パスワードを知らせたくないものですが、このコントロールを使った社内アプリケーションであれば、それらをソフト内に隠蔽できます。それにより、セキュリティーの向上や管理コストの削減といったメリットがあります。一般を対象としたFTPソフトから、限定された支店間データ通信ソフトなど様々な用途で利用でき、SOHO,モバイルコンピューティング、インターネット、イントラネット、DCOMなど最近のネットワークアーキテクチャーには必ずといって良いほど必要な機能でしょう。

 

リモートアクセス.OCXの概要

このコントロールはWin32APIRASファンクションをラップ(包む)し、容易にRASの操作ができるようにしたコントロールです。APIでできることのほとんどがコントロールでも可能になっています。このコントロールは実行時には非表示のコントロールです。また、Windows9598およびWindowsNT4.0での動作が保証されています。ヘルプはVBの中からF1キーによる表示に対応した使いやすいヘルプが付属します。

このコントロールでできること

ダイアルアップネットワークに登録されている接続先(エントリ)に対していくつかの値を変更して接続することが可能です。ユーザー名 パスワード 電話番号 ドメイン名 コールバック電話番号の5つの項目をプログラムから制御できます。ただしこの際にエントリーに登録された値を上書きするわけではなく、一時的に変更するだけです。すなわちユーザーが直接エントリのアイコンをダブルクリックした場合はエントリーそのものの値で実行されます。

そのほかでは、エントリリストの取得、エントリのプロパティーダイアログの表示、エントリ新規作成ダイアログの表示、エントリの接続状況(接続されているかそうでないか)の取得、自動リダイアル、などが行えます。

 

主なプロパティー、メソッド、イベント リスト

プロパティー 内容
Active エントリーが接続状態かどうかを返します
EntryName ItemIndexで指定されたエントリーの名前を返します
ItemCount ローカルコンピュータに登録されたリモートアクセスエントリの数を返します
ItemIndex 接続に使用するエントリー番号を指定します
Password 接続に使用するパスワードを指定します
ReDialCancel リダイアル待機状態を解除します
ReDialInterval リダイアルの間隔を秒で指定します
ReDialTimes 接続先がビジーの場合にリダイアルする回数を指定します
SpCallBackNumber 接続に使用するコールバック電話番号を指定します
SpDomainName 接続に使用するドメイン名を指定します
SpTelephoneNumber 接続に使用する電話番号を指定します
UseSpValue Spで始まるプロパティーの値を有効/無効にします
UserName 接続に使用するユーザー名を指定します
   
メソッド 内容
Connect EntryNameプロパティーで示されるダイアル先へ接続します
CreateEntry エントリの作成ダイアログを表示します
EditPhonebook エントリのプロパティーダイアログを表示します
HangUp 電話回線を切断します
Item 指定した位置に対応するエントリーの名前を返します
ReLoad エントリリストを再読込みします
   
イベント 内容
Connected 接続が完了したときに呼び出されます
ReDialWaitStarted リダイアル待機を開始したときに呼び出されます
StatusChange 接続状況が変化したときに呼び出されます
StatusError 接続がエラーになったときに呼び出されます
 

使い方

ここでは簡単なダイアラのサンプルコードにてご説明します。

このサンプルの機能は、リストボックスにエントリリストを表示し、希望のエントリの選択と、接続、切断を可能とするものです。

1、リモートアクセスエントリーの取得

ダイアルアップネットワークのエントリーリストを簡単に取得することができます。ItemCountプロパティーには、OSに登録されたエントリ数が自動で取得されています。(ReLoadメソッドで明示的に再読込みもできます)itemメソッドでエントリー名を取得します。

以下の例はリストボックスにエントリーを表示します。

Private Sub Form_Load()

Dim i As Integer

For i = 0 To RasCtrl1.ItemCount - 1 'エントリー数分ループします。

List1.AddItem RasCtrl1.Item(i) 'リストに加えます

Next i

End Sub

 

2、ダイアルするエントリの選択

ダイアルするエントリはItemIndexプロパティーで指定します。

以下の例はリストボックスで選択された番号をItemIndexプロパティーにセットします。

Private Sub List1_Click()

RasCtrl1.ItemIndex = List1.ListIndex

End Sub

 


3、ダイアルする
Private Sub Command1_Click()

RasCtrl1.UserName = Text1 'ユーザー名をセットします

RasCtrl1.Password = Text2 'パスワードをセットします

RasCtrl1.Connect ‘接続します

End Sub


4、切断する
Private Sub Command2_Click()

RasCtrl1.HangUp

End Sub

ここでコードは割愛しますが、Connectメソッドは非同期で実行されます。すなわち発行したらすぐに制御が戻ります。その後、StatusChangeイベントにて接続状況が通知されます。

そして最後に接続が完了したことを知らせるConnectedイベントが発行されますので、このイベント内で接続後の処理を記述します。また、接続できずにエラーになった場合はStattusErrorイベントにてエラーが通知されます。

Return To Index