目次:
定義-Runtime Callable Wrapper(RCW)とはどういう意味ですか?
ランタイム呼び出し可能ラッパー(RCW)は、共通言語ランタイム(CLR)によって生成され、コンポーネントオブジェクトモデル(COM)オブジェクトをカプセル化して、.NETアセンブリとして公開するラッパーオブジェクトです。
RCWは、COMコンポーネント間の呼び出しをマーシャリングしてCOMコンポーネントと対話する必要がある.NETクライアントのプライマリインターフェイスとして機能します。 COMコンポーネントをCLRに公開するメタデータラッパーを形成します。 既存のActiveXコンテナーが.NETコントロールをホストし、.NET WindowsフォームアプリケーションがActiveXコンテナーをホストするのに役立ちます。 RCWは、COMコンポーネントを使用して構築されたビジネスシステムでも役立ち、生産性に影響を与えることなく、古いレガシーコードを新しく開発された.NETコンポーネントと統合できます。
TechopediaはRuntime Callable Wrapper(RCW)について説明しています
COMコンポーネントは、クライアントとの通信が発生するインターフェイスを公開することによりサービスを提供する、再利用可能なバイナリオブジェクトです。 COMコンポーネントのインターフェイスまたはバイナリコントラクトの定義は、インターフェイスのタイプライブラリで指定されます。 COMとは異なり、.NETオブジェクト間の通信は、インターフェイスベースではなくオブジェクトベースです。 RCWは、COMコンポーネントと.NETオブジェクト間のブリッジとして機能し、マーシャリングによって操作をルーティングし、2つの間を仲介します。
RCWは、カプセル化されたCOMオブジェクトの有効期間を管理します。 2つのアプリケーションドメインまたはアパートメント間で参照を渡すときに、オブジェクトのプロキシが使用されます。 RCWの作成は、タイプライブラリから派生したメタデータに基づいています。 その破壊は、ガベージコレクション中に発生します。 RCWによるマーシャリングには、メソッド引数と戻り値の変換が含まれ、クライアントとサーバーの両方が読み取れる方法で表されます。 マーシャリングの例としては、COMコンポーネントのBSTR型として渡す必要がある文字列引数の変換がありますが、.NETクライアントでは文字列型でなければなりません。
RCWはVisual Studioを使用して作成できます。VisualStudioは、自動コード生成機能を使用して、プロセスをユーザーにとってシンプルかつ透過的にします。 または、RCWアセンブリには、コンポーネントのタイプライブラリで定義されたタイプのメタデータが含まれ、コマンドラインからtlbimp.exeツールを使用して作成できます。
この定義は、.NETのコンテキストで記述されました