Az IClassFactory implementálása

Amikor egy ügyfél CLSID használatával kéri egy objektumpéldány létrehozását, az első lépés egy osztályobjektum létrehozása, egy köztes objektum, amely az IClassFactory interfész metódusainak implementálását tartalmazza. Bár a COM több példánylétrehozási függvényt is biztosít, a függvények megvalósításának első lépése egy osztályobjektum létrehozása.

Ennek eredményeképpen minden kiszolgálónak implementálnia kell az IClassFactory interfész metódusait, amely két metódust tartalmaz:

  • CreateInstance. Ennek a metódusnak létre kell hoznia az objektum nem nemializált példányát, és vissza kell adnia egy mutatót az objektum kívánt felületére.
  • LockServer. Ez a módszer csak növeli az osztályobjektum referenciaszámát, hogy a kiszolgáló a memóriában maradjon, és ne állítsa le, mielőtt az ügyfél készen áll erre.

Annak érdekében, hogy egy kiszolgáló saját licenceléséért felelős legyen, a COM meghatározza IClassFactory2, amely a definícióját IClassFactoryörökli. Így az IClassFactory2 implementáló kiszolgálónak definíció szerint implementálnia kell az IClassFactorymódszereit.

A COM a folyamaton kívüli kiszolgálók implementálásához is biztosít segédfüggvényeket. További információ: Folyamaton kívüli kiszolgáló implementálási segítői.

A COM-kiszolgáló feladatai

Licencelés és IClassFactory2