一部のアプリケーションは、アプリケーションの複数のインスタンスがコンピューターにインストールされないように設計されています。 このような制限により、アプリケーションはパーティション機能を利用できません。 次のアプリケーション設計機能は、そのアプリケーションでパーティションを使用する前に変更する必要がある場合があります。
テーブルと配列
一部のアプリケーションでは、CLSID を一意のレジストリ キーとして使用するデータベース テーブル、メモリ内テーブル、または配列が作成されます。 パーティションのないコンピューターでは、通常、このレジストリ キーはコンピューター/CLSID (コンピューターごとに 1 つの CLSID) です。
逆に、パーティションがあるコンピューターでは、このレジストリ キーはコンピューター/パーティション ID/アプリケーション ID/CLSID (コンピューターごとの CLSID の複数のインスタンス) です。 パーティション機能を使用すると、CLSID の複数のインスタンスをコンピューターに存在させることができるため、コンピューターごとに一意の CLSID を必要とする設計要素を含むアプリケーションが悪影響を受ける可能性があります。
グローバル リソース
一部のアプリケーションでは、共有メモリ、データ ファイル、レジストリ エントリなどのグローバル リソースが使用されます。 これにより、このようなアプリケーションの複数のインスタンスが同時に実行されている場合に問題が発生する可能性があります。
たとえば、コンポーネントが他のコンポーネントとの対話に共有メモリを使用する場合、コンポーネントの各インスタンスが独自の共有メモリを割り当てるようにコンポーネントを変更する必要があります。
タイプ ライブラリ
タイプ ライブラリは、コンポーネントのインターフェイスとメソッドに関する情報を提供します。 この情報は、次のようないくつかの目的で使用されます。
- 関数呼び出しが行われるときにコンポーネント間でデータをマーシャリングする
- COM+ キューに登録されたコンポーネントと COM+ イベント サービスの支援
- Microsoft Visual Basic エディター内で正しい情報を提供する
タイプ ライブラリへの参照は、コンピューターのレジストリにインストールされます。 パーティション内から呼び出されるアプリケーションを開発するときは、最新バージョンのタイプ ライブラリがレジストリにインストールされていることが重要です。 これにより、使用されている Visual Basic エディターは、そのコンポーネントで使用できるメソッドに関する正確な情報を取得できます。
関連トピック