Compartir a través de


Implementación de IClassFactory

Cuando un cliente usa un CLSID para solicitar la creación de una instancia de objeto, el primer paso es la creación de un objeto de clase, un objeto intermedio que contiene una implementación de los métodos de la interfaz IClassFactory . Aunque COM proporciona varias funciones de creación de instancias, el primer paso de la implementación de estas funciones es la creación de un objeto de clase.

Como resultado, todos los servidores deben implementar los métodos de la interfaz IClassFactory , que contiene dos métodos:

  • CreateInstance. Este método debe crear una instancia no inicializada del objeto y devolver un puntero a una interfaz solicitada en el objeto .
  • LockServer. Este método simplemente incrementa el recuento de referencias en el objeto de clase para asegurarse de que el servidor permanece en memoria y no se cierra antes de que el cliente esté listo para que lo haga.

Para permitir que un servidor sea responsable de su propia licencia, COM define IClassFactory2, que hereda su definición de IClassFactory. Por lo tanto, un servidor que implementa IClassFactory2 debe implementar, por definición, los métodos de IClassFactory.

COM también proporciona funciones auxiliares para implementar servidores fuera de proceso. Para obtener más información, vea Asistentes de implementación de servidor fuera de proceso.

Responsabilidades del servidor COM

Licencias e IClassFactory2