Responsabilités du serveur COM
L’une des façons les plus importantes pour un client d’obtenir un pointeur vers un objet est que le client demande qu’un serveur soit lancé et qu’une instance de l’objet fourni par le serveur soit créée et activée. Il incombe au serveur de s’assurer que cela se produit correctement. Il y a plusieurs parties importantes à cela.
Le serveur doit implémenter du code pour un objet de classe via une implémentation de l’interfaceIClassFactoryou interface IClassFactory2.
Le serveur doit inscrire son CLSID dans le registre système sur l’ordinateur sur lequel il réside et plus loin, a la possibilité de publier son emplacement d’ordinateur sur d’autres systèmes sur un réseau pour permettre aux clients de l’appeler sans exiger que le client sache l’emplacement du serveur.
Le serveur est principalement responsable de la sécurité ; autrement dit, dans la plupart des cas, le serveur détermine s’il fournira un pointeur vers l’un de ses objets vers un client.
Les serveurs in-process doivent implémenter et exporter certaines fonctions qui permettent au processus client de les instancier.
Les rubriques suivantes détaillent les responsabilités du serveur COM :
- implémentation de IClassFactory
- licences et IClassFactory2
- inscrire des serveurs COM
- helpers d’implémentation de serveur hors processus
- de création et d’optimisation du GUID