Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Extension for .NET Framework 使用の手引


4.8.3 TP1/ServerのCOBOL言語のサービスルーチンの利用

従来のSPPで使用していたTP1/ServerのCOBOL言語のサービスルーチンを利用する場合は,プラットフォーム呼び出し(P/Invoke)を使います。ソースプログラム上の記述は,通常の呼び出しもプラットフォーム呼び出しも同じです。しかし,プラットフォーム呼び出しの場合は,P/Invoke指示ファイルを-PInvokeオプションに指定して,呼び出すプログラムがアンマネージプログラムであることをコンパイラに指示する必要があります。

P/Invoke指示ファイルのサンプルの格納場所については,「2.1.3(1) Extension .NETが提供するP/Invoke指示ファイルのサンプル」を参照してください。

〈この項の構成〉

(1) P/Invoke指示ファイルの作成例

TP1/Server BaseおよびTP1/LiNKの場合のP/Invoke指示ファイルの作成例を次に示します。

TP1/Server Baseの場合
CBLDCADM(DLL="LIBBETRAN.DLL",CallConv=Cdecl)
CBLDCLOG(DLL="LIBBETRAN.DLL",CallConv=Cdecl)
CBLDCPRF(DLL="LIBBETRAN.DLL",CallConv=Cdecl)
CBLDCRAP(DLL="LIBBETRAN.DLL",CallConv=Cdecl)
CBLDCRPC(DLL="NJSCMLIB.DLL",CallConv=Cdecl)
CBLDCTRN(DLL="LIBBETRAN.DLL",CallConv=Cdecl)
CBLDCMCF(DLL="LIBMCF.DLL",CallConv=Cdecl)
CBLDCTAM(DLL="LIBTAM.DLL",CallConv=Cdecl)
TP1/LiNKの場合
CBLDCADM(DLL="BETRAN.DLL",CallConv=Cdecl)
CBLDCLOG(DLL="BETRAN.DLL",CallConv=Cdecl)
CBLDCPRF(DLL="BETRAN.DLL",CallConv=Cdecl)
CBLDCRAP(DLL="BETRAN.DLL",CallConv=Cdecl)
CBLDCRPC(DLL="NJSCMLIB.DLL",CallConv=Cdecl)
CBLDCTRN(DLL="BETRAN.DLL",CallConv=Cdecl)
CBLDCMCF(DLL="LIBMCF.DLL",CallConv=Cdecl)

(2) P/Invoke指示ファイル作成時の注意事項