<PreferComInsteadOfManagedRemoting> 要素
ランタイムが、アプリケーション ドメインの境界を越えたすべての呼び出しに対して、リモート処理ではなく COM 相互運用を使用するかどうかを指定します。
configuration
runtime
<PreferComInsteadOfManagedRemoting>
構文
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
enabled |
必須の属性です。 ランタイムが、アプリケーション ドメインの境界間で、リモート処理ではなく COM 相互運用を使用するかどうかを示します。 |
enabled 属性
[値] | 説明 |
---|---|
false |
ランタイムは、アプリケーション ドメインの境界間でリモート処理を使用します。 既定値です。 |
true |
ランタイムは、アプリケーション ドメインの境界間で COM 相互運用を使用します。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
runtime |
アセンブリのバインディングとガベージ コレクションに関する情報が含まれています。 |
解説
enabled
属性を true
に設定すると、ランタイムは次のように動作します。
IUnknown インターフェイスが COM インターフェイス経由でドメインに入るとき、ランタイムは IManagedObject インターフェイスに対して IUnknown::QueryInterface を呼び出しません。 代わりに、オブジェクトをラップする ランタイム呼び出し可能ラッパー (RCW) を構築します。
ランタイムは、このドメインで作成されたすべての COM 呼び出し可能ラッパー (CCW) に対して IManagedObject インターフェイスへの
QueryInterface
呼び出しを受信したときに、E_NOINTERFACE を返します。
これらの 2 つの動作により、アプリケーション ドメインの境界を越えたマネージド オブジェクト間の COM インターフェイス経由のすべての呼び出しで、リモート処理ではなく COM と COM の相互運用が使用されるようになります。
例
次の例では、ランタイムが分離境界を越えて COM 相互運用機能を使用するように指定する方法を示します。
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>
関連項目
.NET