Dela via


Implementera IClassFactory

När en klient använder ett CLSID för att begära att en objektinstans skapas är det första steget att skapa ett klassobjekt, ett mellanliggande objekt som innehåller en implementering av metoderna i IClassFactory--gränssnittet. Com tillhandahåller flera funktioner för att skapa instanser, men det första steget i implementeringen av dessa funktioner är att skapa ett klassobjekt.

Därför måste alla servrar implementera metoderna i gränssnittet IClassFactory, som innehåller två metoder:

  • SkapaInstans. Den här metoden måste skapa en onitialiserad instans av objektet och returnera en pekare till ett begärt gränssnitt på objektet.
  • LockServer. Den här metoden ökar bara referensantalet för klassobjektet för att säkerställa att servern förblir i minnet och inte stängs av innan klienten är redo att göra det.

För att göra det möjligt för en server att ansvara för sin egen licensiering definierar COM IClassFactory2, som ärver dess definition från IClassFactory. Därför måste en server som implementerar IClassFactory2 per definition implementera metoderna för IClassFactory.

COM tillhandahåller även hjälpfunktioner för implementering av out-of-process-servrar. Mer information finns i out-of-process Server Implementation Helpers.

COM-serveransvar

Licensing och IClassFactory2