CBL_GET_PROGRAM_INFO

指定されたプログラム、または現在呼出しスタック内にあるプログラムの情報を返す。

制限: このルーチンのファンクション 8 (引数の数を返す) はネーティブ COBOL のみでサポートされる。
構文:
call "CBL_GET_PROGRAM_INFO" using by value function
                            by reference   param-block
                            by reference   return-buf
                            by reference   return-buf-len
                            returning      status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
function cblt-x4-comp5 pic x(4) comp-5.
param-block Group predefined as cblt-prog-info-params containing: Group containing:
  cblte-gpi-size   cblt-x4-comp5   pic x(4) comp-5.
  cblte-gpi-flags   cblt-x4-comp5   pic x(4) comp-5.2
  cblte-gpi-handle   cblt-pointer   usage pointer.
  cblte-gpi-prog-id   cblt-pointer   usage pointer.
  cblte-gpi-attrs   cblt-x4-comp5   pic x(4) comp-5.
return-buf   cblt-prog-info-arg-info pic x(n).
return-buf-len cblt-x4-comp5 pic x(4) comp-5.
status-code 説明の読み方 参照
入力パラメタ:
function 次のいずれか1つを設定する。
0 現行のプログラムの状態を返す。本プログラムに関する詳細な情報を取り出したい場合には、本機能がcblte-gpi-handleを返すようにcblte-gpi-flagsパラメタのビット0を設定する必要がある。cblte-gpi-handleは、機能2~8の入力として使用される。cblte-gpi-handleに関連する初期化プログラムが現行のプログラムである。
1 指定されたプログラムの状態情報を返す。本プログラムに関する詳細な情報を取り出したい場合には、本機能がcblte-gpi-handleを返すようにcblte-gpi-flagsパラメタのビット0を設定する必要がある。cblte-gpi-handleは、機能2~8の入力として使用される。cblte-gpi-handleに関連する初期化プログラムが現行のプログラムである。
2 現在cblte-gpi-handleに関連するプログラムを呼び出したプログラムの状態情報を返す。本機能は、機能0または1で設定されたcblte-gpi-handleを必要とする。cblte-gpi-handleに関連するプログラムは、呼出しプログラムに更新される。
3 前回作成されたcblte-gpi-handleを閉じる。本機能は、機能0または1で設定されたcblte-gpi-handleを必要とする。本機能による呼出しは、cblte-gpi-handleが終了した時点で行う必要がある。
4 現在cblte-gpi-handleに関連するプログラムの入口点を探す。cblte-gpi-handleは、機能0または1で設定する必要がある。本機能により一度呼出しを行うと、機能5により本ルーチンを繰り返し使用してプログラム内の残りの入口点をすべて取り出すことができる。必要な入口点がすべて一度返されると、機能6により本ルーチンを使用して入口点の検索を終了することができる。
5 現在cblte-gpi-handleに関連するプログラムの次の入口点を探す。本機能は、機能0または1で設定された有効なcblte-gpi-handleと機能4用に最初または次の入口点の検索シーケンスを初期化するために使用されたcblte-gpi-handleを必要とする。
6 入口点の検索を終了する。本機能は、0または1で設定された有効なcblte-gpi-handleと機能4用に最初または次の入口点の検索シーケンスを初期化するために呼び出されたcblte-gpi-handleを必要とする。
7 現在cblte-gpi-handleに関連するプログラムの完全なプログラム名を返す。本機能は、0または1で設定された有効なcblte-gpi-handleを必要とする。
8 現在cblte-gpi-handleに関連するプログラムで呼び出された引数の数を返す。これはプログラムが現行の呼出しスタック内にある場合に限る。
制限: このファンクション 8 (引数の数を返す) はネーティブ COBOL のみでサポートされる。
cblte-gpi-size 本フィールドを含むパラメタブロックのサイズ。32ビットシステムの場合は20、64ビットシステムの場合は28を設定すること。
cblte-gpi-flags 返される情報を32ビットで表示する。
ビット 内容
0 機能0および1がcblte-gpi-handleを返すか否かを決める。他の機能では、ビットは無視される。
0 cblte-gpi-handleを返さない。(機能0または1の場合)
1 >cblte-gpi-handleを返す。(機能0または1の場合)
1 機能0および2がプログラム状態情報の一部としてname-bufにプログラムの基本名を返すか否かを決める。
0 プログラムの基本名をname-bufに返さない。(機能0または2の場合)
1 プログラムの基本名をname-bufに返す。(機能0または2の場合)
2 name-bufに入力または返される基本名および完全なプログラム名がナルまたはスペースのどちらで終了する形式にするかを決める。
0 入出力はすべてスペースで終了する。
1 入出力はすべてナルで終了する。
3 機能0、1および2がプログラムの属性をcblte-gpi-attrに返すか否かを決める。
0 プログラム属性をcblte-gpi-attrに返さない。
1 プログラム属性をcblte-gpi-attrに返す。
4-31 今後の使用のために予約済み。0を設定すること。
cblte-gpi-handle 機能0または1によって作成されるハンドル
return-buf 次のいずれか1つを設定する。
1 情報を必要とするプログラムの基本名
8 cblte-gpiai-sizeフィールドは本フィールドを含むcblt-prog-info-arg-infoのサイズであり、32ビットシステムの場合は16、64ビットシステムの場合は24を設定すること。 systems.
return-buf-len return-bufの長さ。return-bufの長さが小さすぎて情報が返されない場合、本ルーチンは失敗する。
出力パラメタ:
cblte-gpi-handle 機能0および1によって返されるハンドル。他のすべての機能でも使用すること。
cblte-gpi-prog-id 現在cblte-gpi-handleに関連するプログラムの識別子
cblte-gpi-attr 現在cblte-gpi-handleに関連するプログラムの属性
ビット 内容
0
0 AMODE"24"コンパイラ指令を使用してコンパイルされなかったプログラム
1 AMODE"24"コンパイラ指令(現在Net Expressでは使用不可)を使用してコンパイルされたプログラム
1
0 AMODE"32"コンパイラ指令を使用してコンパイルされなかったプログラム
1 AMODE"31"コンパイラ指令(現在Net Expressでは使用不可)を使用してコンパイルされたプログラム
2
0 CHARSET(ASCII)コンパイラ指令を使用してコンパイルされたプログラム
1 CHARSET(EBCDIC)コンパイラ指令を使用してコンパイルされたプログラム
3
0 ANS85コンパイラ指令を使用してコンパイルされなかったプログラム
1 ANS85コンパイラ指令を使用してコンパイルされたプログラム
4
0 VSC2コンパイラ指令を使用してコンパイルされなかったプログラム
1 VSC2コンパイラ指令(現在Net Expressでは使用不可)を使用してコンパイルされたプログラム
5
0 OSVSコンパイラ指令を使用してコンパイルされなかったプログラム
1 OSVSコンパイラ指令(現在Net Expressでは使用不可)を使用してコンパイルされたプログラム
6-25 今後の使用のために予約済み。0を設定すること。
26
0 システムプログラムでないプログラム
1 システムプログラムであるプログラム
27
28
0 サブシステムのメンバーでないプログラム
1 サブシステムのメンバーであるプログラム
29
0 現行の呼出しスタック内にあるプログラム
1 現行の呼出しスタック内にあるプログラム
30
0 取り消されなかったプログラム
1 取り消されたプログラム
31
0 COBOLプログラム
1 COBOL以外のプログラム
return-buf 次のいずれか1つを設定する。
0, 2 基本名が要求された。
4, 5 入口点名が要求された。
7 完全なプログラム名が要求された。
8 呼出しパラメタ情報が要求された。
cblte-gpiai-argc プログラムが呼び出された引数の数
cblte-gpiai-reserved1 ナルに設定。今後の使用のために予約済み。
cblte-gpiai-reserved2 ナルに設定。今後の使用のために予約済み。
return-buf-len name-bufに返された名前の長さ、または状態コードが1013の場合に必要なバッファの長さ
status-code 操作の状態:
0 成功
500 情報の終わり(現在関連するプログラムの呼出しプログラムがない場合に機能2によって返されるか、これ以上入口点がない場合に機能5によって返される)
1000 メモリ割当てエラー
1001 入力されたcblte-gpi-handleが無効
1006 cblte-gpi-handleに関連するプログラムが呼出しスタック内にない場合、機能8によって返されたハンドルの操作が無効
1009 パラメタが無効
1011 プログラムまたはエントリ名が見つからない
1013 バッファが小さすぎて情報を返すことができない
他参照:

関連項目