Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


dc_mcf_ap_info_uoc

〈このページの構成〉

名称

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

パラメタに不正な値があります。

上記以外

プログラムの破壊などによる,予期しないエラーが発生しました。

注意事項

  1. dc_mcf_ap_info_uoc関数を使用できるUOCは入力メッセージ編集UOC(アプリケーション名決定UOC)だけです。dc_mcf_ap_info_uoc関数がそのほかのUOCで呼び出されたかどうかのチェックはできないので,そのほかのUOCでの動作は保証しません。UOCについては,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

  2. UOCへのアプリケーション情報通知関数で取得できるアプリケーションの情報は,UOCが動作する通信サービスから起動できるユーザアプリケーションだけです。また,システムイベント(MCFアプリケーション定義mcfaalcapの-nオプションのkindオペランドにmcfを指定した定義)に関するアプリケーション情報は通知しません。

  3. UAPトレースは取得されません。