Hitachi

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


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アプリケーション定義の省略時解釈値である「非応答型」を通知します。