私は、基本的にプラグインである一連の COM サーバーに取り組んでいます。各プラグインには、別のコンポーネントによって管理される構成データのセットがあり、構成データの主キーはプラグインの ProgID です。プラグインが構成アイテムにアクセスする必要がある場合、呼び出しを行い、その ProgID と必要なプロパティの名前を渡します。これは従来の設計であり、下位互換性を維持する必要があります。
各プラグインの複数のインスタンスをロードする必要があり、各インスタンスには異なる構成データのセットがあります。私が検討している解決策は、プラグインごとに複数の一意の ProgID を作成することです。各 ProgID は、プラグインの単一の ClsId を指します。したがって、プラグインの各インスタンスはその ProgID によって識別され、ProgID は引き続き構成データの主キーとして使用され、すべてに 100% の下位互換性があります。
だから、質問:
- これは受け入れられる技術ですか?(複数の ProgID がすべて単一の ClsID を指しています)。
- プラグインが読み込まれると、作成に使用された ProgID を認識できますか?