ページの先頭行へ戻る
WSMGR ソフトウェア開発キット V9 使用手引書
FUJITSU Software

8.1.4 通信状態通知/待機

エミュレータの状態表示行に表示されるホストとの通信状態や、エミュレータ動作状態をプロパティに格納します。

アプリケーションはプロパティを参照することにより、現在の通信状態、エミュレータ動作状態を確認することができます。

また、通信状態の「システム状態」、「入力禁止状態」、「通信エラー状態」、「プリンタ状態」に関しては、状態通知用のイベント、状態待機用のメソッドを提供します。


状態表示行の構成、情報はエミュレータ種別ごとに異なるため、通信状態を格納するために使用するプロパティや、プロパティへ格納する値もエミュレータ種別ごとに異なります。


では、次のプロパティを使用します。

SystemConnection,InpStatus,CommuError,CommuErrorCode,ShiftCurrentField,
ShiftInsertFlag,PrinterStatus,PrinterDeviceNum

では、次のプロパティを使用します。

SystemConnection,CommuError,CommuErrorCode,OutputDeviceType,DeviceStatus

では、次のプロパティを使用します。

SystemConnection,CommuError,CommuErrorCode,OutputDeviceType,DeviceStatus

プロパティへ格納する値の違いに関しては、以降の各プロパティの項に記述します。

また、エミュレータの状態表示行に表示される通信状態の詳細な意味、コードについては各エミュレータの使用手引書を参照してください。

8.1.4.1 システム状態SystemConnectionプロパティ

構文

object. SystemConnection

データ型

整数

アクセス方法

参照

初期値

0:「CX_SYS_NOTREADY」

対象エミュレータ

エミュレータのシステム状態を表します。

値は参照のみ可能です。

システム状態の変化は「ChangeSessionStatus(通信状態の通知)」イベントや「WaitStatus、~Async(通信状態の待機)」メソッドにより待機でき、値はそれぞれのイベント、メソッドでも使用されます。

では「SystemConnection」に次の値が格納されます。

状態

状態表示行の表示

定義名

未接続

  

CX_SYS_NOTREADY

0

エミュレータ動作可

CX_SYS_READY

1

BSC接続

R  

RA

CX_SYS_BSC_CONNECT

2

HDLC接続

RB

CX_SYS_HDCL

3

HDLC接続 LOGON/LOGOFF不可

R?

CX_SYS_HDLC_CONNECT_NL

4

HDLC接続 LOGON/LOGOFF可

CX_SYS_HDLC_CONNECT

5

DDX接続 発呼可能

RNET-R

CX_SYS_DDX_READY

6

DDX接続 発呼確立

RNET-C

CX_SYS_DDX_CONNECT

7

NMC接続 テスト状態

RLTEST

CX_SYS_TEST

8

NMC接続 オフライン状態

ROFFL

CX_SYS_OFFLINE

9

では「SystemConnection」に次の値が格納されます。

状態

状態表示行の表示

定義名

未接続

  

CX_SYS_NOTREADY

0

エミュレータ動作可

READY

CX_SYS_READY

1

8.1.4.2 入力禁止状態InpStatusプロパティ

構文

object. InpStatus

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

入力禁止状態を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。


「InpStatus」に次の値が格納されます。

状態

状態表示行の表示

定義名

キー入力可

  

CX_INPCOM_UNLOCK

0

キーボードロック

処理中

CX_INPCOM_LOCK

1

※解除不可

キーボードロック

CX_INPCOM_LOCKKEY

2

不正入力
※RESETキーで解除可

無効な入力です

CX_INPCOM_INVINPUT

3

無効な機能です

CX_INPCOM_INVFUNC

4

フィールドオーバー

CX_INPCOM_FIELDOVER

5

入力不可能位置

CX_INPCOM_INVPOS

6

数字のみ入力可能

CX_INPCOM_NUMONLY

8

全桁入力して下さい

CX_INPCOM_SHORTCOLUMN

9

入力もれがあります

CX_INPCOM_SHORTINPUT

10

入力誤りです

CX_INPCOM_MISSINPUT

11

指定誤りです

CX_INPCOM_MISSSPECIFY

12

入力禁止状態の変化は「ChangeSessionStatus(通信状態の通知)」イベントや「WaitStatus、~Async(通信状態の待機)」メソッドにより待機でき、値はそれぞれのイベント、メソッドでも使用されます。

8.1.4.3 通信エラー状態CommuErrorプロパティ

構文

object. CommuError

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

通信エラー状態を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。

「CommuError」プロパティが詳細コードを持つ状態の場合には、「CommuErrorCode(通信エラーコード)」プロパティに詳細コードを格納します。

では「CommuError」に次の値が格納されます。

状態

状態表示行の表示

定義名

エラーなし

  

CX_COMMU_NORMAL

0

通信エラー
※RESETキーで解除可
※詳細コード有り

プログラムエラー nn

CX_COMMU_ERRPROG

1

通信エラー nn

CX_COMMU_ERRCOMMU

2

ネットワークエラー nn

CX_COMMU_ERRNET

3

コールエラー nnnn

CX_COMMU_ERRCALL

4

不正印刷指示
※RESETキーで解除可
※DEVICE CANCELキーで解除可

プリンタが未定義

CX_COMMU_PRTNODEVICE

5

プリンタは印刷中

CX_COMMU_PRTPRINTING

6

プリンタは使用中

CX_COMMU_PRTUSING

7

印刷できない状態

CX_COMMU_PRTNOTPRINT

8

通信エラー
※解除不可
※詳細コード有り

通信エラー nn

CX_COMMU_COMMUERROR

9

では「CommuError」に次の値が格納されます。

状態

状態表示行の表示

定義名

エラーなし

  

CX_COMMU_NORMAL

0

通信エラー
※解除不可
※詳細コード有り

通信エラー nn

CX_COMMU_COMMUERROR

9

受信したホストデータに異常あり
※解除不可

受信エラー(op)

CX_COMMU_OPECHECK

10

未サポートコマンド、データタイプ受信
※解除不可

受信エラー(us)

CX_COMMU_UNSUPPORT

11

通信エラー状態の変化は「ChangeSessionStatus(通信状態の通知)」イベントや「WaitStatus、~Async(通信状態の待機)」メソッドにより待機でき、値はそれぞれのイベント、メソッドでも使用されます。

8.1.4.4 通信エラーコードCommuErrorCodeプロパティ

構文

object. CommuErrorCode

データ型

整数

アクセス方法

参照(CommuErrorに詳細コードを持つ状態が格納された場合に有効)

初期値

なし

対象エミュレータ

通信エラー状態の詳細コードを表します。

値は参照のみ可能であり、ホスト接続中の間有効です。


「CommuError(通信エラー状態)」プロパティが詳細コードを持つ状態の場合には、「CommuErrorCode」プロパティに詳細コードを格納します。

詳細コードはエミュレータの状態表示行に表示されるものと同様の数値となります。

8.1.4.5 シフト/モード:カーソル位置フィールド状態ShiftCurrentFieldプロパティ

構文

object. ShiftCurrentField

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

現在のカーソル位置に関連した入力シフト状態を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。


「ShiftCurrentField」に次の値が格納されます。

状態

状態表示行の表示

定義名

その他のフィールド

  

CX_CURRENT_OTHER

0

カナフィールド

カナ

CX_CURRENT_KANA

1

日本語フィールド

日本語

CX_CURRENT_NIHONGO

2

数字フィールド

数字

CX_CURRENT_NUM

3

8.1.4.6 シフト/モード:挿入状態フラグShiftInsertFlagプロパティ

構文

object. ShiftInsertFlag

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

現在の挿入モードを表します。

値は参照のみ可能であり、ホスト接続中の間有効です。


「ShiftInsertFlag」に次の値が格納されます。

状態

状態表示行の表示

挿入OFF

  

FALSE

挿入ON

挿入

TRUE

8.1.4.7 プリンタ状態PrinterStatusプロパティ

構文

object. PrinterStatus

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

ディスプレイ端末が使用するローカルコピー先プリンタ端末状態を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。


プリンタ状態には、「PrinterStatus」プロパティと合わせて、「PrinterDeviceNum(プリンタデバイス番号)」プロパティがあり、「PrinterDeviceNum(プリンタデバイス番号)」にはプリンタデバイス番号が格納されます。


状態変更タイミングは「ChangeSessionStatus(状態変更通知イベント)」や「WaitStatus、~Async(通信状態待機メソッド)」により待機できます。


「PrinterStatus」に次の値が格納されます。

状態

状態表示行の表示

定義名

プリンタデバイス無

  

CX_PRNSTAT_NODEVICE

0

印刷可(全画面)

nn

CX_PRNSTAT_READY

1

印刷可(非保護のみ)

nnU

CX_PRNSTAT_READY_U

2

ローカルコピー中

nn

CX_PRNSTAT_PRINTING

3

ローカルコピー異常

nn

CX_PRNSTAT_ERROR

4

8.1.4.8 プリンタデバイス番号PrinterDeviceNumプロパティ

構文

object. PrinterDeviceNum

データ型

整数

アクセス方法

参照

ホスト接続中であり、「PrinterStatus(プリンタ状態)」プロパティが「CX_PRNSTAT_NODEVICE(プリンタデバイス無し)」以外の場合に有効

初期値

なし

対象エミュレータ

ディスプレイ端末が使用するローカルコピー先プリンタ端末のデバイス番号が格納されます。

値は参照のみ可能であり、ホスト接続中であり、「PrinterStatus(プリンタ状態)」プロパティが「CX_PRNSTAT_NODEVICE(プリンタデバイス無し)」以外の場合に有効。

8.1.4.9 出力デバイス種別OutputDeviceTypeプロパティ

構文

object. OutputDeviceType

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

プリンタ端末が出力先として指定しているデバイスの種別を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。

「OutputDeviceType」には次の値が格納されます。

状態

状態表示行の表示

定義名

出力デバイス未設定

未接続

CX_DEVTYPE_NODEVICE

0

プリンタ出力

プリンタ

CX_DEVTYPE_PRINTER

1

ファイル出力

ファイル

CX_DEVTYPE_FILE

2

8.1.4.10 出力デバイス状態DeviceStatusプロパティ

構文

object. DeviceStatus

データ型

整数

アクセス方法

参照(ホスト接続中の間有効)

初期値

なし

対象エミュレータ

プリンタ端末が出力先として指定しているデバイスの状態を表します。

値は参照のみ可能であり、ホスト接続中の間有効です。

「DeviceStatus」には次の値が格納されます。

状態

状態表示行の表示

定義名

出力不可

印刷不可

出力不可

CX_DEVSTAT_NOTREADY

0

出力可

印刷可

出力可

CX_DEVSTAT_READY

1

出力中

印刷中

出力中

CX_DEVSTAT_OUTPUT

2

8.1.4.11 通信状態の通知種別StatusNotifyTypeプロパティ

構文

object. StatusNotifyType [=Type]

データ型

整数

アクセス方法

参照/設定

設定値範囲

0、1、2、4、8のOR値(0~15)

初期値

0:「CX_STAT_NON」

対象エミュレータ

このプロパティは「ChangeSessionStatus(通信状態の通知)」イベントで通知する通信状態の種別を指定します。

値は設定、参照することが可能です。

初期値は「CX_STAT_NON」です。

では「StatusNotifyType」へ設定する値に次のものがあります。

意味

定義名

通知なし

CX_STAT_NON

0

システム状態

CX_STAT_SYSTEM

1

入力禁止状態

CX_STAT_INPERR

2

通信エラー状態

CX_STAT_COMERR

4

プリンタ状態

CX_STAT_PRINT

8

では「StatusNotifyType」へ設定する値に次のものがあります。

意味

定義名

通知なし

CX_STAT_NON

0

システム状態

CX_STAT_SYSTEM

1

通信エラー状態

CX_STAT_COMERR

4

「ChangeSessionStatus(通信状態の通知)」イベントは、このプロパティに指定された値に応じて必要な状態変化のみ通知します。

これらの値はすべてOR条件なので、複数の指定が可能です。

たとえば「システム状態」と「入力禁止状態」を通知したい場合は以下のように指定します。

<「システム状態」と「入力禁止状態」を指定した例>

StatusNotifyType = CX_STAT_SYSTEM | CX_STAT_INPERR

8.1.4.12 通信状態の通知ChangeSessionStatusイベント

構文

object_ ChangeSessionStatus ( category,status,code )

引数

引数は次のものです。

項目

内容

category

整数

変更のあった通信状態の種別を表します。

status

整数

引数「category(通信状態の種別)」に対応した種別の通信状態を表します。

code

整数

通信状態が詳細コードを持つ場合に詳細コードを表します。

復帰値

意味を持ちません。

対象エミュレータ

関連プロパティ

StatusNotifyType

「StatusNotifyType(通信状態の通知種別)」プロパティで指定する種別の通信状態変化時にイベントが発生します。

イベントの引数として、状態変化のあった「通信状態種別」、「通信状態」、「詳細コード」が通知されます。


「category」へ格納される値は「StatusNotifyType(通信状態の通知種別)」プロパティの設定値と同様です。

1:「CX_STAT_SYSTEM(システム状態)」

2:「CX_STAT_INPERR(入力禁止状態)」

4:「CX_STAT_COMERR(通信エラー状態)」

8:「CX_STAT_PRINT(プリンタ状態)」


「status」へ格納される値は、次の各プロパティの値と同様です。

「SystemConnection(システム状態)」

「InpStatus(入力禁止状態)」

「CommuError(通信エラー状態)」

「PrinterStatus(プリンタ状態)」

8.1.4.13 通信状態の待機WaitStatus、WaitStatusAsyncメソッド

構文

object. WaitStatus ( category,status [,time] )

object. WaitStatusAsync ( category,status [,time] )

引数

引数は次のものです。

項目

内容

category

整数

待機する通信状態の種別を指定します。

status

整数

引数「category(通信状態の種別)」に対応した種別において、待機する通信状態を指定します。

time

整数

待機時間(秒単位)を-1、0~65535の範囲で指定します。

二重発行動作

キャンセル

復帰値

0:正常/その他の値:異常

対象エミュレータ

引数により指定する通信状態を待機します。

待機している通信状態を確認するか、待機時間を超えた時点でメソッドの処理は完了します。


「category」への指定値は「StatusNotifyType(通信状態の通知種別)」プロパティの設定値と同様です。

1:「CX_STAT_SYSTEM(システム状態)」

2:「CX_STAT_INPERR(入力禁止状態)」

4:「CX_STAT_COMERR(通信エラー状態)」

8:「CX_STAT_PRINT(プリンタ状態)」


「status」への指定値は、次の各プロパティの値と同様です。

「SystemConnection(システム状態)」

「InpStatus(入力禁止状態)」

「CommuError(通信エラー状態)」

「PrinterStatus(プリンタ状態)」


「time」へ-1を指定した場合には無限待ちします。

「time」へ0を指定した場合にはメソッド発行時の通信状態を確認して即時復帰します。

「time」の指定省略時には0が指定されたものとします。


待機していた通信状態種別が「CX_STAT_COMERR(通信エラー状態)」であり、通信状態に詳細コードを持つ場合には、状態を表す詳細コードが存在します。

詳細コードについては「CommuErrorCode(通信エラーコード)」プロパティを参照する事により確認できます。ただし、「CommuErrorCode(通信エラーコード)」プロパティは現在の通信状態を表すプロパティであるため、通信状態が連続的に変化する様な場合には、待機していた状態と、「CommuErrorCode(通信エラーコード)」プロパティの値が合わなくなる可能性があります。

8.1.4.14 通信状態の待機完了通知ResultWaitStatusイベント

構文

object_ ResultWaitStatus ( result )

引数

引数は次のものです。

項目

内容

result

整数

WaitStatusAsyncメソッドの処理結果

復帰値

意味を持ちません。

対象エミュレータ

「WaitStatusAsync(通信状態の待機)」メソッドによる通信状態待機処理の完了時に発生します。

イベントの引数として、待機結果が通知されます。