#include "cobcall.h" cobrtncode_t cobcallpp (PFR rtn, int argc, cobchar_t **argv);
rtn | 呼び出す COBOL のプログラム、サブプログラム、またはエントリ ポイントへの関数ポインター |
argc | argv で渡される引数の数 |
argv | COBOL プログラムへ渡される引数 |
call "name" [using ...] [returning ...]
COBOL エントリ ポイント cobep を 2 つの文字列引数で C 関数から呼び出すには、次のいずれかの方法を使用します。
PFR rtn = cobgetfuncaddr("cobep"); cobchar_t *argv[2]; argv[0] = arg1; argv[1] = arg2; cobcallpp(rtn, 2, argv);
または
cobep(arg1, arg2);
説明:
この関数は、関数ポインターと、argv で渡される引数を使用して、COBOL のプログラム、サブプログラム、またはエントリ ポイントを呼び出すために使用されます。各パラメーターは参照渡しされます。
rtn を初期化するには、COBOL エントリ ポイントを直接参照するか (エントリ ポイントがアプリケーションにリンクされている場合)、cobgetfuncaddr() を使用します。後者の場合、cobcallpp() が呼び出されたときではなく cobgetfuncaddr() が呼び出されたときにプログラムが検索されます。
cobcallpp() の結果は、ANSI '74 規格に定義されている COBOL 型の呼び出しになり、その動作も COBOL から COBOL エントリ ポイントを呼び出した場合と同様です。
COBOL エントリ ポイントに引数が必要ない場合は、argc は 0 で argv は NULL です。