方法 : ランタイム呼び出し可能ラッパーをカスタマイズする
ランタイム呼び出し可能ラッパー (RCW) をカスタマイズするには 2 つの方法があります。 インターフェイス定義言語 (IDL: Interface Definition Language) のソース コードを変更できる場合は、タイプ ライブラリ ファイル (TLB) の属性を適用し、タイプ ライブラリをインポートできます。 もう 1 つの方法は、インポートした型に相互運用機能専用の属性を適用し、新しいアセンブリを生成する方法です。 標準の RCW のカスタマイズのサポートは、相互運用機能専用の属性によって制限されます。
IDL のソース コードを変更するには
TLB の属性をライブラリ、型、メンバー、およびパラメーターに適用します。 キーワード custom と属性値を使用して、メタデータを変更します。 TLB の属性を適用することにより、次のことができます。
インポート ユーティリティで標準の変換規則に基づいて名前を選択するのではなく、インポートした COM の型のマネージ名を指定できます。
COM ライブラリ内の型に対して、適用先の名前空間を明示的に定義できます。
IDL のソース コードをコンパイルします。
結果のタイプ ライブラリ ファイルか、または実装しようとする型が含まれているダイナミック リンク ライブラリ ファイル (DLL: Dynamic Link Library File) からアセンブリを生成します。
インポートしたアセンブリを変更するには
タイプ ライブラリ ファイルをインポートします。 タイプ ライブラリ インポーター (Tlbimp.exe) を使用して、アセンブリ DLL を作成します。
MSIL 逆アセンブラー (Ildasm.exe) を使用して、インポートしたアセンブリからテキスト ファイルを作成します。
テキスト ファイルに相互運用機能専用の属性を適用します。
MSIL アセンブラー (Ilasm.exe) を使用して、変更したテキスト ファイルから新しいアセンブリを作成します。