Van egy meglehetősen régi COM-szerű komponensünk, meglehetősen bonyolult interfészekkel. Ezek az interfészek meglehetősen problémásak a marshal számára, ezért nem regisztrálunk semmit a registry-ben, hanem exportálunk egy CreateMainObject()
függvényt a komponens DLL-ből, amely lekér egy IMainObject
mutatót, és a IMainObject
interfésznek rengeteg egyéb funkciója van.
Így a kliens soha nem hívja meg a CoCreateInstance()
-t, hanem a LoadLibraryEx()
/GetProcAddress()
-t, majd meghívja a CreateMainObject()
függvényt. Soha nem lehet sorba rendezni, mivel a COM valójában nem lép be a helyszínre – minden műveletet az objektumokon közvetlenül hívó metódusok hajtanak végre. Minden nagyon gyors, de természetesen nem szálbiztos, és nem működik COM+ helyettesítőben.
Van-e kifejezés a COM interfészek ilyen használatára?