Je travaille sur un ensemble de plugins qui sont essentiellement des serveurs COM. Chaque plugin a un ensemble de données de configuration qui est géré par un autre composant, la clé primaire des données de configuration est le ProgID du plug-in. Lorsque le plugin doit accéder à un élément de configuration, il passe un appel et transmet son ProgID ainsi que le nom de la propriété requise. C'est une conception héritée et je dois maintenir la rétrocompatibilité.Est-ce que plusieurs ProgID peuvent pointer vers le même ClsID?
J'ai maintenant besoin de charger plusieurs instances de chaque plugin, chaque instance ayant un ensemble différent de données de configuration. La solution que je considère est de créer plusieurs ProgID uniques pour chaque plugin, chaque ProgID pointerait vers le seul ClsId pour le plugin. Ainsi, chaque instance du plugin serait identifiée par son ProgID, le ProgID est toujours utilisé comme clé primaire pour les données de configuration et tout est rétrocompatible à 100%.
Ainsi, les questions suivantes:
- Est-ce une technique acceptable? (plusieurs ProgIDs pointant tous vers un seul ClsID).
- Quand mon plugin se chargera, pourra-t-il savoir quel ProgID a été utilisé pour le créer?
+1 pour une bonne réponse, cela pourrait bien devenir la réponse acceptée à moins que quelqu'un veuille ajouter quelque chose dans les prochains jours. –