CODE B
5. OPOS インターフェース仕様(ドロワー)
5.1.一覧
プロパティ
共通 型 アクセス 初期化 初期値・書込み条件
BinaryConversion Long R/W Open OPOS_BC_NONE(0)
Open後、書込み可能
CapCompareFirmwareVersion Boolean R Open FALSE
CapPowerReporting Long R Open OPOS_PR_NONE(0)
CapStatisticsReporting Boolean R Open FALSE
CapUpdateFirmware Boolean R Open FALSE
CapUpdateStatistics Boolean R Open FALSE
CheckHealthText String R Open “”
Claimed Boolean R Open FALSE
DeviceEnabled Boolean R/W Open FALSE
Open後、書込み可能
FreezeEvents Boolean R/W Open FALSE
Open後、書込み可能
OpenResult Long R 無し 0
PowerNotify Long R/W Open OPOS_PN_DISABLED(0)書 込 み
不可能
PowerState Long R Open OPOS_PS_UNKNOWN(2000)
ResultCode Long R -- 0
ResultCodeExtended Long R Open 0
State Long R -- 1
ControlObjectDescription String R -- “NEC MC320S2DC CashDrawer
Control Object”
ControlObjectVersion Long R -- 1013XXX
ServiceObjectDescription String R Open “NEC MC320S2DC CashDrawer
Service Object”
ServiceObjectVersion Long R Open 1013XXX
DeviceDescription String R Open “NEC MC320S2DC CashDrawer ”
DeviceName String R Open Open 時にパラメータに設定する
名前
専用 型 アクセス 初期化 初期化
CapStatus Boolean R Open 初 期 値 は レ ジ ス ト リ
"CapStatus"の値
CapStatusMultiDrawerDetect Boolean R Open FALSE
DrawerOpened Boolean R Open & Enable FALSE
※アクセスの R は読込み専用、R/W は読込み、書き込み可能であることを示します。また、初期化は、初 期化に必要なメソッド・プロパティを示し、OpenはOpenメソッド、ClaimはClaimDeviceメソッド、Enable
はDeviceEnabledプロパティをTRUEに設定することを意味します。初期化に必要な手続きを実行しない場
合、ResultCode プロパティにエラーが設定される場合があります。また、初期化条件が Open&Claim およ
びOpen,Claim&Enable状態になっているプロパティについては、Openメソッド実行後に取得可能となりま
すが、Open,Claim &Enable後にはじめて値が初期化される場合があるため、プロパティ取得時には条件を満
たした上でアクセスを行なってください。
メソッド
共通 必要条件
Open --
Close Open
ClaimDevice Open
ReleaseDevice Open & Claim
CheckHealth Open & Enable
CompareFirmwareVersion Open & Enable
DirectIO Open
ResetStatistics Open & Enable
RetrieveStatistics Open & Enable
UpdateFirmware Open & Enable
UpdateStatistics Open & Enable
専用 必要条件
OpenDrawer Open & Enable
WaitForDrawerClose Open & Enable
イベント
名称 必要条件
DirectIOEvent Open & Enable
StatusUpdateEvent Open & Enable
5.2.共通プロパティ
ドロワーに対して共通に提供されるプロパティを説明します。
プロパティは読込み専用のものと、読込み、書き込み可能なものの2種類が存在します。書き込み可能なプロパ ティには、R/W をプロパティ名の横に記述します。
また、戻り値は特別な意味合いがあるものについてのみ明記します。初期化条件を満たさずにアクセスした場合 のエラーについては、ResultCodeプロパティを参照してください。
BinaryConversion プロパティ R/W
形式
LONG BinaryConversion;
説明
BinaryConversionの値は以下の値に変更可能ですが、影響するメソッドはありません。
値 意味
OPOS_BC_NONE(0) データは変換されずにBstring一文字は1バイトで格納されます。(デフ
ォルト)
OPOS_BC_NIBBLE(1) 各バイトは二つの文字に変換されます。
OPOS_BC_DECIMAL(2) 各バイトは三つの文字に変換されます。
このプロパティはOpenメソッドによりOPOS_BC_NONE(0)に初期化されます。
戻り値
本プロパティ設定時、次の値のいずれかがResultCodeプロパティに格納されます。
値 意味
OPOS_SUCCESS(0) プロパティの設定に成功しました。
OPOS_E_ILLEGAL(106) 不正な値が指定されました。
CapCompareFirmwareVersion プロパティ
形式
BOOL CapCompareFirmwareVersion;
説明
TRUE ならばサービス/デバイスは、ファームウェアファイルのバージョンと物理デバイス内のファー ムウェアバージョンを比較する機能を有します。
このプロパティはOpenメソッドによりFALSEに初期化されます。
CapPowerReporting プロパティ
形式
LONG CapPowerReporting;
説明
デバイスの電源通知能力を識別します。電源通知能力を示す値は下記の通りです。
値 意味
OPOS_PR_NONE(0) 電源通知能力は機能しません。
このプロパティはOpen メソッドにより初期化されます。
CapStatisticsReporting プロパティ
形式
BOOL CapStatisticsReporting;
説明
このプロパティはOpenメソッドによりFALSEに初期化されます。スタティスティクスの通知はサポ ートしません。
CapUpdateFirmware プロパティ
形式
BOOL CapCompareFirmwareVersion;
説明
このプロパティはOpenメソッドによりFALSEに初期化されます。ファームウェアのアップデートが 可能です。
CapUpdateStatistics プロパティ
形式
BOOL CapUpdateStatistic;
説明
このプロパティはOpenメソッドによりFALSEに初期化されます。スタティスティクスの通知はサポ ートしません。
CheckHealthText プロパティ
形式
BSTR CheckHealthText;
説明
直前に呼び出したCheckHealthメソッドの結果を保持します。以下に診断結果を示します。
“Internal Hcheck: Successful”
内部チェックに成功しました。
“External HCheck : Successful”
外部チェックに成功しました。
“External HCheck : Failure”
外部チェックに失敗しました。
“Interactive HCheck : Not Supported”
対話チェックはサポートしません。
最初のCheckHealthメソッド呼び出し以前にはこの値は初期化されません。(空文字)
Claimed プロパティ
形式
BOOL Claimed;
説明
TRUE:デバイスの排他アクセス権が獲得されています。
FALSE:デバイスはほかのアプリケーションと共有できるよう解放されています。
多くの場合、デバイスの排他アクセス権を獲得した後で、メソッドやプロパティへのアクセス、イベン トの発生が可能となります。
Claimedプロパティの値はOpenメソッドによってFALSEに初期化されます。
ControlObjectDescription プロパティ
形式
BSTR ControlObjectDescription;
説明
“NEC MC320S2DC CashDrawer Control Object”が設定されています。
このプロパティでコントロールオブジェクトを識別します。コントロールオブジェクトとそれを製造し ている会社を示す文字列で、いつでも読取り可能です。
ControlObjectVersion プロパティ
形式
LONG ControlObjectVersion;
説明
“1013XXX” が設定されています。コントロールオブジェクトバージョン番号を示します。次の3つ
のバージョンレベルが設定されています。
バージョンレベル 説明
メジャー 百万の位
OPOSメジャーバージョンレベルを示します。
マイナー 千から十万までの位
OPOSマイナーバージョンレベルを示します。本OPOSコン トロールは、OPOSバージョン1.13準拠のため、常に13が 設定されています。
ビルド 一から百までの位
コントロールオブジェクに修正を行うと更新されます。
このプロパティはいつでも読取り可能です。(XXXは、コントロールオブジェクトの提供時期によって 異なります。)
DeviceDescription プロパティ
形式
BSTR DeviceDescription;
説明
“NEC MC320S2DC CashDrawer” が設定されています。
このプロパティはデバイスを識別する文字列で、デバイスとそれに関連する情報を示します。
このプロパティはOpenメソッドによって初期化されます。
DeviceEnabled プロパティ R/W
形式
BOOL DeviceEnabled;
説明
TRUE:
デバイスはイネーブルにされています(動作状態です)。TRUEに変更するとイネーブルにされま す。
FALSE:
デバイスはディセーブルにされています。FALSE に変更すると、可能ならば物理的にディセーブ ルにされます。後続の入力は廃棄され、出力動作を行うことはできません。デバイスを使用する前 に、アプリケーションはこのプロパティをTRUEに設定しなければなりません。
このプロパティはOpenメソッドによりFALSEに初期化されます。
戻り値
本プロパティ設定時、次の値のいずれかがResultCodeプロパティに格納されます。
値 意味
OPOS_SUCCESS(0) プロパティの設定に成功しました。
OPOS_E_FAILURE(111) 接続ポートのオープンに失敗しました。他のプログラムから接続ポート
が使用されていないか、接続ポートが存在しているかを確認した後、も う一度実行してください。
OPOS_E_NOHARDWARE(107) POS プリンタがオフ/オフライン、またはケーブルが接続されていま
せん。これらを解消した後、もう一度実行してください。
※USBインターフェースの場合、POSプリンタを接続していても、POS プリンタに設定されているシリアル番号とレジストリに設定されたシ リアル番号が異なる場合は、このエラーが発生します。
※LANインターフェースの場合、POSプリンタが接続されていなくて も、このエラーではなく、OPOS_SUCCESS(0)が返ります。
DeviceName プロパティ
形式
BSTR DeviceName;
説明
“MC320USBDR1”, “MC320USBDR2”,
“MC320LANDR1_xxx.xxx.xxx.xxx”, “ MC320LANDR2_xxx.xxx.xxx.xxx” ( xxx.xxx.xxx.xxx: IPアドレス) のいずれかが設定されます。設定される値は、Openしたデバイスによって異なります。このプロパテ ィは、デバイスとそれに関連する情報を示します。DeviceDescriptionプロパティの短縮バージョンで、
30文字までに制限されています。このプロパティはOpenメソッドにより初期化されます。
FreezeEvents プロパティ R/W
形式
BOOL FreezeEvents;
説明
TRUEの場合、コントロールからイベントが通知されません。
凍結が解除されるまで、イベントはコントロールが保持しています。
FALSE の場合、コントロールからイベントが通知されます。凍結されていた間に保持されたイベント
があれば、FreezeEventsをFALSEに変更すると、そのイベントが通知されます。
イベントによる割り込みが望ましくない状況で、アプリケーションはイベントの凍結を選択できます。
このプロパティはOpenメソッドによりFALSEに初期化されます。
戻り値
本プロパティ設定時、次の値がResultCodeプロパティに格納されます。
値 意味
OPOS_SUCCESS(0) プロパティの設定に成功しました。
OpenResult プロパティ
形式
LONG OpenResult;
説明
最新のOpenメソッドでの結果を保持しています。OpenResultの値は下記の通りです。
値 意味
OPOS_SUCCESS(0) オープンが成功しました。
OPOS_OR_ALREADYOPEN (301) コントロールはすでにオープンされています。
OPOS_OR_REGBADNAME (302) レジストリに指定したデバイス名称キーが存在しません。
OPOS_OR_REGPROGID (303) デバイス名キーのデフォルト値が読めないか、そこに保持
されたプログラマティクIDを有効なクラスIDに変換でき ませんでした。
OPOS_OR_CREATE (304) サービスオブジェクトインスタンスを生成できなかったか、
IDispatchインターフェースを取得できませんでした。
OPOS_OR_BADIF (305) サービスオブジェクトは指定版数で要求されるひとつ、も
しくはひとつ以上のメソッドをサポートしていません。
このプロパティはOpenメソッドで初期化されます。