ActiveX コンポーネント・リファレンス
 クラス一覧
 NumberReceiver.TcpReceiver クラス
スレッディングモデル: Apartment
構成
プロパティ一覧
メソッド一覧
イベント一覧
プロパティ
Active |
[アクセス] Read and Write
[データ型] IDL: VARIANT_BOOL VB: Boolean
[初期値] False
[解説]
True にすると NumberWatcher サーバに接続(= Openメソッド呼び出し)し、False にすると接続を解除(= Closeメソッド呼び出し)します。エラーの場合は LastError プロパティにエラーコードが設定されます。
|
BindAddr |
[アクセス] Read and Write
[データ型] IDL: BSTR VB: String
[初期値] "" (空ストリング)
[解説]
ソケットにバインドする IP アドレスまたはホスト名を設定します。空ストリングにすると自動設定されます。
|
BindPort |
[アクセス] Read and Write
[データ型] IDL: short VB: Integer
[初期値] 0
[解説]
ソケットに設定するポート番号を設定します。0 にすると自動設定されます。
|
KeepAliveInterval |
[アクセス] Read and Write
[データ型] IDL: long VB: Long
[初期値] 60 (秒)
[解説]
NumberWatcher サーバとの接続を維持させるために、定期的にデータを送信しています。
このプロパティにはその送信間隔を秒数で指定しますが、送信間隔はサーバ側の numwat.ini ファイルの [Dispatch.TCP] keepAliveTimeout 設定値以下になるように設定する必要があります。
keppAliveTimeout 設定値以上にしてしまうと keepAliveTimeout 時間経過後にサーバに接続を解除されてしまいます。
(サーバ側の keepAliveTimeout の初期値は 90 秒です。)
定期的に NOP コマンドデータを送信しています。
|
KeepAliveResTimeout |
[アクセス] Read and Write
[データ型] IDL: long VB: Long
[初期値] 20 (秒)
[解説]
KeepAliveInterval の間隔で送信している NOP コマンドのレスポンスが返ってくるまでのタイムアウト時間を設定します。これは NumberWatcher サーバが生きているかどうか確認するためです。タイムアウトになるとサーバとの接続を解除します。
|
LastError |
[アクセス] Read Only
[データ型] IDL: long VB: Long
[解説]
直前に実行したメソッド、またはプロパティの設定でのエラー状態を表すエラーコードが格納されています。
エラーコード表)
エラーコード値 |
エラー内容 |
0 |
エラーはありません。直前に実行したメソッド、プロパティの設定は正常に行われています。 |
1 |
コマンドのパラメータが正しくありません。 |
2 |
アダプタインデックス値が不正です。 |
3 |
ナンバーディスプレイアダプタがまだオープンしていません。 |
4 |
ナンバーディスプレイアダプタからのメモリ読み出し時エラー |
5 |
ナンバーディスプレイアダプタへのメモリ書き込み時エラー |
-1 |
管理者権限がないため実行できません。 |
-2 |
未定義コマンドです。 |
-99 |
NumberWatcher サーバがシャットダウン動作中です。 |
100 |
まだ NumberWatcher サーバに接続していません。 |
101 |
NumberWatcher サーバ接続中は設定変更できません。 |
102 |
NumberWatcher サーバとの接続が切断されました。 |
103 |
BindAddr プロパティ値が正しくありません。 |
104 |
ソケットを作成できません。 |
105 |
ServerAddr プロパティ値が正しくありません。 |
106 |
NumberWatcher サーバに接続できません。 |
200 |
NumberWatcher サーバからのレスポンス待ちタイムアウト |
201 |
レスポンスヘッダ部が正しくありません。 |
202 |
コマンドに対するレスポンスの不一致です。 |
203 |
レスポンスデータ部が正しくありません。 |
999 |
内部エラー |
|
ServerAddr |
[アクセス] Read and Write
[データ型] IDL: BSTR VB: String
[初期値] "127.0.0.1"
[解説]
接続する NumberWatcher サーバの IP アドレスまたはホスト名を設定します。
|
ServerPort |
[アクセス] Read and Write
[データ型] IDL: short VB: Integer
[初期値] 9876
[解説]
接続する NumberWatcher サーバのポート番号を設定します。
|
メソッド
Close |
IDL |
HRESULT _stdcall Close( void ); |
VB |
Sub Close() |
[解説]
NumberWatcher サーバとの接続を解除します。これは Active=False と同じです。このメソッドまたは Active=False で明示的に接続を解除した場合は OnClose イベントは発生しません。
|
Open |
IDL |
HRESULT _stdcall Open([out, retval] VARIANT_BOOL * Result ); |
VB |
Function Open() As Boolean |
[解説]
NumberWatcher サーバに接続します。これは Active=True と同じです。正常にオープンできた場合、または既にオープンしている場合は True を返します。オープンできない場合は False を返し、LastError プロパティにエラーコードが設定されます。
|
ReadMemory |
IDL |
HRESULT _stdcall ReadMemory([in] short AdaptorIndex, [in] short Addr, [out] INumberData ** NumberData, [out, retval] VARIANT_BOOL * Result ); |
VB |
Function ReadMemory(AdaptorIndex As Integer, Addr As Integer, NumberData As NumberData) As Boolean |
[解説]
ナンバーディスプレイアダプタのメモリを読み出します。AdaptorIndex には対象のナンバーディスプレイアダプタのインデックス(1台目 = 0, 2台目=1,...)を指定し、Addr には読み出すメモリアドレス(1 ~ 30)を指定します。
正常に読み出せた場合は True を返し、さらに NumberData に読み出した電話番号データがセットされます。エラーの場合は False を返し、LastError プロパティにエラーコードが設定されます。
なお、VBScript からはこのメソッドは呼び出せないので、代わりに ReadMemory2 メソッドを使って下さい。
|
ReadMemory2 |
IDL |
HRESULT _stdcall ReadMemory2([in] short AdaptorIndex, [in] short Addr, [out, retval] INumberData ** Result ); |
VB |
Function ReadMemory2(AdaptorIndex As Integer, Addr As Integer) As NumberData |
[解説]
ナンバーディスプレイアダプタのメモリを読み出します。機能自体は ReadMemory メソッドと同じですが呼び出し方が異なります。AdaptorIndex には対象のナンバーディスプレイアダプタのインデックス(1台目 = 0, 2台目=1,...)を指定し、Addr には読み出すメモリアドレス(1 ~ 30)を指定します。
正常に読み出せた場合は NumberReceiver.NumberData オブジェクト(正確には INumberData インターフェースポインタ)を返します。エラーの場合は LastError プロパティにエラーコードが設定され、呼び出し側に COM (Component Object Model) エラーを返します。そのため呼び出し側でエラー(例外)ハンドリングする必要があります。
|
WriteMemory |
IDL |
HRESULT _stdcall WriteMemory([in] short AdaptorIndex, [in] BSTR Number, [out, retval] VARIANT_BOOL * Result ); |
VB |
Function WriteMemory(AdaptorIndex As Integer, Number As String) As Boolean |
[解説]
ナンバーディスプレイアダプタのメモリに電話番号を書き込みます。AdaptorIndex には対象のナンバーディスプレイアダプタのインデックス(1台目 = 0, 2台目=1,...)を指定し、Number には書き込む電話番号(数字のみ)を指定します。
正常に書き込めた場合は True を返します。エラーの場合は False を返し、LastError プロパティにエラーコードが設定されます。
|
イベント
OnClose |
IDL |
HRESULT OnClose( void ); |
VB |
Event OnClose() |
[解説]
サーバとの接続が解除された場合にこのイベントが発生します。Close メソッドまたは Active=False で明示的に接続を解除した場合はこのイベントは発生しません。
|
OnError |
IDL |
HRESULT OnError([in] BSTR Msg ); |
VB |
Event OnError(Msg As String) |
[解説]
内部でエラーが起きた場合に発生するイベントです。Msg にはエラーメッセージが入っています。
|
OnPhoneDetect |
IDL |
HRESULT OnPhoneDetect([in] INumberData * NumberData ); |
VB |
Event OnPhoneDetect(NumberData As NumberData) |
[解説]
電話を着信すると、このイベントが発生します。NumberData には電話番号データが入っています。
|
 NumberReceiver.MulticastReceiver クラス
スレッディングモデル: Apartment
構成
プロパティ一覧
メソッド一覧
メソッド名 |
説明 |
Close |
マルチキャスト通信の終了 |
Open |
マルチキャスト通信の開始 |
イベント一覧
プロパティ
Active |
[アクセス] Read and Write
[データ型] IDL: VARIANT_BOOL VB: Boolean
[初期値] False
[解説]
True にすると NumberWatcher サーバからの送信パケットを受信できるように通信状態を設定します。(= Openメソッド呼び出し) False にすると通信状態を解除します。(= Closeメソッド呼び出し)
|
BindAddr |
[アクセス] Read and Write
[データ型] IDL: BSTR VB: String
[初期値] "" (空ストリング)
[解説]
ソケットにバインドする IP アドレスまたはホスト名を設定します。空ストリングにすると自動設定されます。
|
BindPort |
[アクセス] Read and Write
[データ型] IDL: short VB: Integer
[初期値] 9876
[解説]
マルチキャスト送信された電話番号パケットを受信するポート番号を設定します。NumberWatcher サーバの numwat.ini ファイルの [Dispatch.Multicast] mcastPort の設定値に合わせるようにして下さい。そうしないと受信できません。
|
LastError |
[アクセス] Read Only
[データ型] IDL: long VB: Long
[解説]
直前に実行したメソッド、またはプロパティの設定でのエラー状態を表すエラーコードが格納されています。
エラーコード表)
エラーコード値 |
エラー内容 |
0 |
エラーはありません。直前に実行したメソッド、プロパティの設定は正常に行われています。 |
101 |
通信有効状態のときは設定変更できません。 |
103 |
BindAddr プロパティ値が正しくありません。 |
104 |
ソケットを作成できません。 |
999 |
内部エラー |
|
MCastAddr |
[アクセス] Read and Write
[データ型] IDL: BSTR VB: String
[初期値] "226.0.0.1"
[解説]
マルチキャスト送信された電話番号パケット受信する、マルチキャストアドレスを設定します。NumberWatcher サーバの numwat.ini ファイルの [Dispatch.Multicast] mcastAddr の設定値に合わせるようにして下さい。そうしないと受信できません。
マルチキャストアドレスの範囲は 224.0.0.0 ~ 239.255.255.255 です。(一部使えないアドレスがあります。)詳しくは、RFC2365, RFC1112, RFC2236 や関連サイト等を参照して下さい。
|
メソッド
Close |
IDL |
HRESULT _stdcall Close( void ); |
VB |
Sub Close() |
[解説]
マルチキャスト送信パケットの受信状態を解除します。これは Active=False と同じです。
|
Open |
IDL |
HRESULT _stdcall Open([out, retval] VARIANT_BOOL * Result ); |
VB |
Function Open() As Boolean |
[解説]
NumberWatcher サーバからのマルチキャスト送信パケットを受信できる状態に設定します。これは Active=True と同じです。正常にオープンできた場合、または既にオープンしている場合は True を返します。オープンできない場合は False を返し、LastError プロパティにエラーコードが設定されます。
|
イベント
OnError |
IDL |
HRESULT OnError([in] BSTR Msg ); |
VB |
Event OnError(Msg As String) |
[解説]
内部でエラーが起きた場合に発生するイベントです。Msg にはエラーメッセージが入っています。
|
OnPhoneDetect |
IDL |
HRESULT OnPhoneDetect([in] INumberData * NumberData, [in] BSTR FromAddr, [in] short FromPort ); |
VB |
Event OnPhoneDetect(NumberData As NumberData, FromAddr As String, FromPort As Integer) |
[解説]
電話を着信すると、このイベントが発生します。NumberData には電話番号データが入っています。FromAddr, FromPort には電話番号パケットの送信元(NumberWatcher サーバ)の IP アドレスとポート番号が入っています。
|
 NumberReceiver.NumberData クラス
スレッディングモデル: Apartment
構成
プロパティ一覧
プロパティ
AdaptorIndex |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信元のナンバーディスプレイアダプタのインデックスです。例えばナンバーディスプレイアダプタを 2 台使っている場合は 1 台目が 0 で、2 台目が 1 となります。
|
Year |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「年」(西暦)の部分です。この値はナンバーディスプレイアダプタには存在しないため、Month と Day の内容および NumberWatcher サーバマシンの日付を元に自動計算して割り出しています。
そのため正確な値にならない場合もあります。
電話番号が格納されていないメモリを読み出した場合は -1 になります。
|
Month |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「月」の部分です。これはナンバーディスプレイアダプタから取得した値です。 値の範囲は 1 = 1月 ~ 12 = 12月 ですが、電話番号が格納されていないメモリを読み出した場合は 99 になります。
|
Day |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「日」の部分です。これはナンバーディスプレイアダプタから取得した値です。 値の範囲は 1 = 1日~ 31 = 31日 ですが、電話番号が格納されていないメモリを読み出した場合は 99 になります。
|
DayOfWeek |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「曜日」の部分です。これはナンバーディスプレイアダプタから取得した値です。 値の範囲は 0 = 日曜日~ 6 = 土曜日 ですが、電話番号が格納されていないメモリを読み出した場合は 9 になります。
|
Hour |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「時」の部分です。これはナンバーディスプレイアダプタから取得した値です。 値の範囲は0 = 0時 ~ 59 = 59時 ですが、電話番号が格納されていないメモリを読み出した場合は 99 になります。
|
Minute |
[アクセス] Read Only
[データ型] IDL: short VB: Integer
[解説]
電話着信した日時の「分」の部分です。これはナンバーディスプレイアダプタから取得した値です。 値の範囲は 0 = 0分 ~ 59 = 59分 ですが、電話番号が格納されていないメモリを読み出した場合は 99 になります。
|
NumType |
[アクセス] Read Only
[データ型] IDL: NumberType 列挙型 VB: NumberType
[解説]
電話着信した電話番号の種別です。値の意味は以下の通りです。
0 ・・・ 有効な電話番号
1 ・・・ 非通知
2 ・・・ 表示圏外
3 ・・・ 公衆電話
4 ・・・ 電話番号なし(メモリ履歴がないアドレス読み出し時)
5 ・・・ エラー
|
Number |
[アクセス] Read Only
[データ型] IDL: BSTR VB: String
[解説]
電話着信した電話番号です。電話番号にはハイフン文字("-" )は含まれません。NumType の値が 0 のときだけ有効な電話番号が入っています。
|
|