dc_mcf_ap_info_uoc
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include<dcmcf.h> int dc_mcf_ap_info_uoc(DCLONG flags, char *apname, struct DC_MCFAPINFO_UOC *apinfo)
K&R版 C の形式
#include<dcmcf.h> int dc_mcf_ap_info_uoc(flags, apname, apinfo) DCLONG flags; char *apname; struct DC_MCFAPINFO_UOC *apinfo;
機能
引数apnameで指定したアプリケーションの定義内容(アプリケーション属性定義)やアプリケーションの状態(dc_mcf_ap_info_uoc関数を呼び出した時点での状態)などの情報(アプリケーション情報)をapinfoで指定したstruct DC_MCFAPINFO_UOCに設定します。dc_mcf_ap_info_uoc関数が正常終了した場合だけ,アプリケーション情報は有効となります。
UOCが動作する通信サービスから起動できないユーザアプリケーション,またはシステムイベントを指定した場合は,不正なアプリケーションが指定されたと見なし,DCMCFRTN_72001でエラーリターンします。
dc_mcf_ap_info_uoc関数が使用できるUOCは,入力メッセージ編集UOC(アプリケーション名決定UOC)だけです。そのほかのUOCからは使用できません。そのほかのUOCから使用した場合,動作は保証しません。
UAPで値を設定する引数
●flags
DCNOFLAGSを設定します。
●apname
取得したいアプリケーション名を指定します。アプリケーション名の最後にはヌル文字を付けます。
●apinfo
アプリケーション情報を取得する領域DC_MCFAPINFO_UOCのアドレスを指定します。
OpenTP1から値が返される引数
●apinfo
アプリケーション情報が,構造体DC_MCFAPINFOで返されます。
構造体の形式は次のとおりです。
struct DC_MCFAPINFO_UOC { char mcf_apinfo[4]; DCLONG mcf_resv00; char mcf_ap_name[9]; char mcf_ap_mcfid[3]; char mcf_resv01[4]; DCLONG mcf_ap_stat; DCLONG mcf_ap_type; DCLONG mcf_ap_msgcnt; char mcf_sg_name[32]; DCLONG mcf_sg_stat; DCLONG mcf_sg_hold; DCLONG mcf_sg_msgcnt; char mcf_sv_name[32]; DCLONG mcf_sv_stat; DCLONG mcf_ap_ntmetim; DCLONG mcf_ap_tempsize; DCLONG mcf_ap_max_msgcnt; DCLONG mcf_ap_trnmode; DCLONG mcf_ap_quekind; char mcf_resv02[64]; };
-
mcf_apinfo
MCFで使用する領域です。
-
mcf_resv00
MCFで使用する領域です。
-
mcf_ap_name
通知対象のアプリケーション名が設定されます。
-
mcf_ap_mcfid
通知対象のアプリケーションが登録されているMCF通信サービスのプロセス識別子が設定されます。
-
mcf_resv01
MCFで使用する領域です。
-
mcf_ap_stat
アプリケーションの閉塞,閉塞解除の状態がフラグで設定されます。
入力閉塞状態: DCMCF_IN_DACT
スケジュール閉塞状態: DCMCF_SC_DACT
入力・スケジュール閉塞状態: DCMCF_DACTSTAT
閉塞解除状態: DCMCF_ACTSTAT
-
mcf_ap_type
アプリケーションの型がフラグで設定されます(MCFアプリケーション定義 mcfaalcapの-nオプションのtypeオペランドの型が設定されます)。
応答型: DCMCF_ANS
非応答型: DCMCF_NOANS
継続問い合わせ型: DCMCF_CONT
ただし,flagsにDCMCFOTHERを設定し,apnameにエラーイベント名(ERREVT1,ERREVT2,ERREVT3,ERREVT4)を設定した場合は,実際の型が通知されません。アプリケーション定義の省略時解釈値である非応答型(DCMCF_NOANS)が設定されます。
-
mcf_ap_msgcnt
このアプリケーションに入力されたメッセージの滞留数が設定されます。
-
mcf_sg_name
アプリケーションに対応したサービスグループ名が設定されます。
-
mcf_sg_stat
サービスグループの閉塞,閉塞解除の状態がフラグで設定されます。
入力閉塞状態: DCMCF_IN_DACT
スケジュール閉塞状態: DCMCF_SC_DACT
入力・スケジュール閉塞状態: DCMCF_DACTSTAT
閉塞解除状態: DCMCF_ACTSTAT
-
mcf_sg_hold
サービスグループの保留,保留解除の状態がフラグで設定されます。
入力保留状態: DCMCF_IN_HOLD
スケジュール保留状態: DCMCF_SC_HOLD
入力・スケジュール保留状態: DCMCF_HOLDSTAT
保留解除状態: DCMCF_RLSSTAT
-
mcf_sg_msgcnt
このサービスグループに入力されたメッセージの滞留数が設定されます。
-
mcf_sv_name
アプリケーションに対応したサービス名が設定されます。
-
mcf_sv_stat
サービスの閉塞,閉塞解除の状態がフラグで設定されます。
入力閉塞状態: DCMCF_IN_DACT
スケジュール閉塞状態: DCMCF_SC_DACT
入力・スケジュール閉塞状態: DCMCF_DACTSTA
閉塞解除状態: DCMCF_ACTSTAT
-
mcf_ap_ntmetim
非トランザクションMHPの限界経過時間が設定されます。
ただし,mcf_ap_trnmodeがDCMCF_TRNの場合は,0が設定されます(MCFアプリケーション定義 mcfaalcapの-vオプションのntmetimオペランドの値が設定されます。ただし,MCFアプリケーション定義を省略した場合は,MCFマネジャ定義 mcfmuapの-vオプションのntmetimオペランドの値が設定されます)。
-
mcf_ap_tempsize
継続問い合わせ応答用の一時記憶データ格納用領域サイズが設定されます。
ただし,mcf_ap_typeがDCMCF_CONT以外の場合は,0が設定されます(MCFアプリケーション定義 mcfaalcapの-nオプションのtempsizeオペランドの値が設定されます)。
-
mcf_ap_max_msgcnt
入力メッセージ最大格納数が設定されます(MCFアプリケーション定義 mcfaalcapの-nオプションのmsgcntオペランドの値が設定されます)。
-
mcf_ap_trnmode
アプリケーションのトランザクション属性がフラグで設定されます(MCFアプリケーション定義 mcfaalcapの-nオプションのtrnmodeオペランドの値が設定されます)。
トランザクションとして管理します: DCMCF_TRN
トランザクションとして管理しません: DCMCF_NONTRN
-
mcf_ap_quekind
受信メッセージの割り当て先がフラグで設定されます(MCFアプリケーション定義 mcfaalcapの-gオプションのquekindオペランドの値が設定されます)。
ディスクキューに割り当てる場合: DCMCF_DISK
メモリキューに割り当てる場合: DCMCF_MEMORY
-
mcf_resv02
MCFで使用する領域です。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DCMCFRTN_00000 |
0 |
正常に終了しました。 |
DCMCFRTN_72000 |
-13000 |
MHPサービス以外から呼び出されました。 |
DCMCFRTN_72001 |
-13001 |
アプリケーション名の設定が不正です。 指定したアプリケーションの情報を取得できません。 |
DCMCFRTN_72016 |
-13016 |
パラメタに不正な値があります。 |
上記以外 |
プログラムの破壊などによる,予期しないエラーが発生しました。 |
注意事項
-
dc_mcf_ap_info_uoc関数を使用できるUOCは入力メッセージ編集UOC(アプリケーション名決定UOC)だけです。dc_mcf_ap_info_uoc関数がそのほかのUOCで呼び出されたかどうかのチェックはできないので,そのほかのUOCでの動作は保証しません。UOCについては,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。
-
UOCへのアプリケーション情報通知関数で取得できるアプリケーションの情報は,UOCが動作する通信サービスから起動できるユーザアプリケーションだけです。また,システムイベント(MCFアプリケーション定義mcfaalcapの-nオプションのkindオペランドにmcfを指定した定義)に関するアプリケーション情報は通知しません。
-
UAPトレースは取得されません。