Implémentation d’IClassFactory

Lorsqu’un client utilise un CLSID pour demander la création d’un objet instance, la première étape consiste à créer un objet de classe, un objet intermédiaire qui contient une implémentation des méthodes de l’interface IClassFactory. Alors que COM fournit plusieurs fonctions de création instance, la première étape de l’implémentation de ces fonctions est la création d’un objet de classe.

Par conséquent, tous les serveurs doivent implémenter les méthodes de l’interface IClassFactory , qui contient deux méthodes :

  • CreateInstance. Cette méthode doit créer une instance non initialisée de l’objet et retourner un pointeur vers une interface demandée sur l’objet .
  • LockServer. Cette méthode incrémente simplement le nombre de références sur l’objet de classe pour s’assurer que le serveur reste en mémoire et ne s’arrête pas avant que le client ne soit prêt à le faire.

Pour permettre à un serveur d’être responsable de ses propres licences, COM définit IClassFactory2, qui hérite de sa définition de IClassFactory. Ainsi, un serveur implémentant IClassFactory2 doit, par définition, implémenter les méthodes de IClassFactory.

COM fournit également des fonctions d’assistance pour l’implémentation de serveurs hors processus. Pour plus d’informations, consultez Assistance sur l’implémentation de serveur hors processus.

Responsabilités du serveur COM

Licences et IClassFactory2