Delen via


IClassFactory implementeren

Wanneer een client een CLSID gebruikt om het maken van een objectexemplaren aan te vragen, is de eerste stap het maken van een klasseobject, een tussenliggend object dat een implementatie bevat van de methoden van de IClassFactory-interface. Hoewel COM verschillende functies voor het maken van exemplaren biedt, is de eerste stap in de implementatie van deze functies het maken van een klasseobject.

Als gevolg hiervan moeten alle servers de methoden van de IClassFactory-interface implementeren, die twee methoden bevat:

  • CreateInstance. Deze methode moet een niet-geïnitialiseerd exemplaar van het object maken en een aanwijzer retourneren naar een aangevraagde interface op het object.
  • LockServer. Met deze methode wordt alleen het aantal verwijzingen op het klasseobject verhoogd om ervoor te zorgen dat de server in het geheugen blijft en niet wordt afgesloten voordat de client klaar is om dit te doen.

Als u wilt dat een server verantwoordelijk is voor zijn eigen licentie, definieert COM IClassFactory2, die de definitie overneemt van IClassFactory-. Een server die IClassFactory2 implementeert moet dus per definitie de methoden van IClassFactory-implementeren.

COM biedt ook helperfuncties voor het implementeren van out-of-process servers. Zie Out-of-Process Server Implementation Helpersvoor meer informatie.

COM-serververantwoordelijkheden

Licensing en IClassFactory2