RCWってなに?

Runtime Callable Wrapperのこと。アンマネージドなCOMとマネージコードを結びつけることができる夢の架け橋。
私はよくCOMラッパーって説明しちゃっていますが、用語としてあるようなのでメモ。

RCW(Runtime Callable Wrapper)

ちなみに、RCWが参照しているCOMが登録されていない場合は以下のようなExceptionが発生する

System.Runtime.InteropServices.COMException (0x80040154): CLSID '{*1}' の COM オブジェクトは有効でないか、登録されていません。
ランタイム呼び出し可能ラッパー

.NET のクライアントが COM オブジェクトをアクティブにすると、ランタイムは、ランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) のインスタンスを生成してその COM 型をラップします。次の図に示すように、ランタイムは、インポートされた COM タイプ ライブラリから取得したメタデータを使用して RCW を生成します。ラッパーは、相互運用マーシャリング サービスによって設定された規則に基づいてデータをマーシャリングします。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcustomizingstandardwrappers.asp

*1:GUID省略