相互運用性
マネージ COBOL は、他のマネージ言語のコードを呼び出すことができます。また、他のマネージ言語のコードからマネージ COBOL を呼び出すこともできます。マネージ COBOL は、ネイティブ COBOL も呼び出せます。さらに、COBOL やネイティブ COBOL 以外の言語のマネージ コードは、マネージ COBOL コード経由で相互運用できます。
相互運用の概要
ネイティブ COBOL コードとマネージ コードの間で呼び出しを行うための手法として、Microsoft から CCW、RCW、プラットフォーム呼び出しの 3 つの手法が提供されています。
マネージ コード相互運用の Data Marshaling と型変換
マネージ COBOL が非 COBOL マネージ言語と相互運用する場合、データ タイプの互換性は主要問題の 1 つになります。場合によっては、COBOL データを互換性のある型に処理する必要があります。
CCW によるネイティブ COBOL からの .NET クラスの呼び出し
CCW (COM callable-wrapper; COM 呼び出し可能ラッパー) は、.NET で提供されている COM 相互運用機能の 1 つです。CCW でマネージ コードを COM オブジェクトとしてラップすると、ネイティブ コードから、他の COM オブジェクトと同様に呼び出すことができます。
RCW によるネイティブ COBOL COM オブジェクトの呼び出し
ランタイム呼び出し可能ラッパー (RCW) は、.NET で提供されている COM 相互運用機能の 1 つです。RCW は COM オブジェクトをラップし、.NET ランタイム システムからの呼び出しを可能にします。つまり、COM インターフェイスが公開され、マネージ コードから呼び出せるようになります。
プラットフォーム呼び出しとネイティブ COBOL の呼び出し
プラットフォーム呼び出しは、ダイナミック リンク ライブラリ (
.dll
) で実装されたアンマネージ関数を、マネージ コードから呼び出し可能にする .NET の機能の 1 つです。
PInvoke サンプル
用意されている PInvoke サンプルで、Platform Invoke のデモンストレーションを行えます。
.NET COBOL の相互運用における Callable 属性
COBOL からメソッドを安全に呼び出すには、COBOL 以外のメソッドおよびそれらを含むクラスやアセンブリに対して
MicroFocus.COBOL.RuntimeServices.CallableAttribute
属性を設定する必要があります。
混合言語プログラミング
本セクションでは、ネイティブ COBOL による混合言語開発のパラメーター、戻りコード、および呼び出し規則について説明します。
上位ヘルプ:
マネージ COBOL プログラミング