dc_mcf_ap_info
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include<dcmcf.h> int dc_mcf_ap_info(DCLONG flags, char *mcfid, char *apname, struct DC_MCFAPINFO *apinfo, char *resv01, DCLONG resv02)
K&R版 C の形式
#include<dcmcf.h> int dc_mcf_ap_info(flags, mcfid, apname, apinfo, resv01, resv02) DCLONG flags; char *mcfid; char *apname; struct DC_MCFAPINFO *apinfo; char *resv01; DCLONG resv02;
機能
MHPからアプリケーションに関するさまざまな情報を取得できます。
通知の対象となるアプリケーションは,dc_mcf_ap_info関数を呼び出したMHP自身のアプリケーションか,ほかのMHPのアプリケーションです。dc_mcf_ap_info関数が正常終了した場合だけ,アプリケーション情報は有効となります。
UAPで値を設定する引数
●flags
参照するアプリケーションによって,次のフラグを設定します。
- DCMCFMYSELF
-
dc_mcf_ap_info関数を呼び出したMHPに関するアプリケーション情報を取得する場合に設定します。
- DCMCFOTHER
-
アプリケーション定義が登録されているMCF通信サービスのプロセス識別子とアプリケーション名によって,特定のアプリケーションに関するアプリケーション情報を取得する場合に設定します。
●mcfid
-
flagsにDCMCFMYSELFを設定した場合
NULLを設定します。
-
flagsにDCMCFOTHERを設定した場合
参照するアプリケーションの定義が登録されているMCF通信プロセス識別子またはアプリケーション起動プロセス識別子を文字列で設定します。文字列の最後にはヌル文字を付けます。
●apname
-
flagsにDCMCFMYSELFを設定した場合
NULLを設定します。
-
flagsにDCMCFOTHERを設定した場合
参照したいアプリケーション名を設定します。アプリケーション名の最後にはヌル文字を付けます。
ただし,エラーイベント名(ERREVT1,ERREVT2,ERREVT3,ERREVT4)を設定した場合,mcf_ap_typeには,アプリケーション定義の省略時解釈値である非応答型(DCMCF_NOANS)が設定されます。
●apinfo
アプリケーション情報を取得する領域DC_MCFAPINFOのアドレスを設定します。
●resv01
NULLを設定します。
●resv02
DCNOFLAGSを設定します。
OpenTP1から値が返される引数
●apinfo
アプリケーション情報が,構造体DC_MCFAPINFOで返されます。
構造体の形式は次のとおりです。
struct DC_MCFAPINFO { 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; char mcf_sg_name[32]; DCLONG mcf_sg_stat; DCLONG mcf_sg_hold; char mcf_sv_name[32]; DCLONG mcf_sv_stat; DCLONG mcf_ap_ntmetim; DCLONG mcf_ap_tempsize; DCLONG mcf_ap_msgcnt; DCLONG mcf_ap_trnmode; DCLONG mcf_ap_quekind; char mcf_resv02[72]; }
-
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_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_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_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 |
パラメタに不正な値があります。 |
上記以外 |
プログラムの破壊などによる,予期しないエラーが発生しました。 |
注意事項
ERREVT1,ERREVT2,ERREVT3,ERREVT4は,同時に複数起動した場合,同名のエラーイベントであっても異なるアプリケーションの型を持つことがあります。したがって,dc_mcf_ap_info関数を呼び出したMHP以外のエラーイベント(ERREVT1,ERREVT2,ERREVT3,ERREVT4)に対する型の通知は行いません。この場合,MCFアプリケーション定義の省略時解釈値である「非応答型」を通知します。