自動化オブジェクトへのプライマリー相互運用アセンブリーのサポート

HCL Z and I Emulator for Windows により公開された自動化オブジェクトは、.NET フレームワークを対象とする任意の言語で作成されたアプリケーションで使用できます。管理対象の .NET アプリケーションは、自動化オブジェクトをラップするプライマリー相互運用アセンブリー (PIA) を使用して、Z and I Emulator for Windows をプログラミングできます。相互運用アセンブリーは、管理対象の (.NET) アプリケーションが COM 準拠オブジェクトを使用する際のメカニズムです。相互運用アセンブリーには、バインディングおよびメタデータ情報が含まれ、 これにより、.NET フレームワーク (CLR) は COM オブジェクトをロードまたはマーシャルして、.NET アプリケーション用にラップできます。PIA には、COM 型の提供者によって定義された COM 型の正式な記述が含まれます。PIA は、必ずオリジナルの COM 型の提供者によってデジタル署名されています。

.NET アプリケーションがアセンブリーを参照できる方法は 2 つあります。
  • 単純なアプリケーションまたは単一のアプリケーションがアセンブリーを使用する場合、 Microsoft はアセンブリーをアプリケーションと同じディレクトリーにコピーすることを推奨しています。
  • 複数のアプリケーションがアセンブリーを参照する場合、 アプリケーションをグローバル・アセンブリー・キャッシュ (GAC) にインストールして、すべてのソリューションに GAC の アセンブリーを参照させることができます。

相互運用アセンブリーによって公開されている型のプログラミング・モデルは COM とよく似ています。COM オブジェクトによって公開されているメソッド、プロパティー、 およびイベントは、いずれの .NET 言語でもその言語の構文を使用してアクセスできます。C# で作成されたサンプル・アプリケーション (ECLSamps.net) が Z and I Emulator for Windows のインストール・イメージの \samples ディレクトリーに提供されています。このサンプルは、 相互運用アセンブリーのさまざまな型の単純な使用法を示します。

Visual Basic 6.0 で、Z and I Emulator for Windows の自動化オブジェクトを使用し、変換支援ウィザードを使用して Visual Basic .NET に移行したプロジェクトでは、ユーザーは、対応する Z and I Emulator for Windows 相互運用参照 (\Interops ディレクトリー) を使用して変換支援ウィザードによって暗黙で生成される参照を置換して、再コンパイルするだけです。参照を置換する方法は、 変換支援によって生成されたすべての参照を削除し、Visual Studio .NET を使用して .NET 相互運用参照を追加します。GAC に登録してあるアセンブリーを使用する場合、参照を追加して、Z and I Emulator for Windows 相互運用参照の「ローカルのコピー」プロパティーを「False」に設定します。

Z and I Emulator for Windows のエミュレーター自動化オブジェクトの PIA は、Z and I Emulator for Windows のインストール・イメージの \Interops ディレクトリーにインストールされます。Z and I Emulator for Windows 製品インストーラーによって .NET フレームワークが存在することが検出された場合、GAC 内に型を登録するための追加オプションが提供されます。GAC にアセンブリーをインストールすると、PIA は対応する型ライブラリーのレジストリー・キーの下のレジストリーにも置かれます。

表 1 に、Z and I Emulator for Windows の自動化オブジェクトに提供される PIA をリストします。

表 1. Z and I Emulator for Windows の自動化オブジェクトへのプライマリー相互運用アセンブリー
自動化オブジェクト 相互運用アセンブリー依存関係
autECLConnList Interop.AutConnListTypeLibrary.dll
autECLConnMgr Interop.AutConnMgrTypeLibrary.dll
autECLConnList Interop.AutPSTypeLibrary.dll
autECLOIA Interop.AutOIATypeLibrary.dll
autECLPS Interop.AutPSTypeLibrary.dll
autECLScreenDesc Interop.AutScreenDescTypeLibrary.dll
autECLScreenReco Interop.AutScreenRecoTypeLibrary.dll
autECLSession Interop.AutSessTypeLibrary.dll
autECLPageSettings Interop.AutSettingsTypeLibrary.dll
autECLPrinterSettings Interop.AutSettingsTypeLibrary.dll
autECLWinMetrics Interop.AutWinMetricsTypeLibrary.dll
autECLXfer Interop.AutXferTypeLibrary.dll
autSystem Interop.AutSystemTypeLibrary.dll