У нас есть довольно старый COM-подобный компонент с набором довольно сложных интерфейсов. Эти интерфейсы довольно проблематичны для маршала, поэтому мы ничего не регистрируем в реестре, а вместо этого экспортируем функцию CreateMainObject()
из DLL компонента, которая получает указатель IMainObject
, а интерфейс IMainObject
имеет огромный набор других функций.
Таким образом, клиент никогда не вызывает CoCreateInstance()
- вместо этого он вызывает LoadLibraryEx()
/ GetProcAddress()
и затем вызывает CreateMainObject()
функцию. Никакой сортировки никогда не может быть выполнено, поскольку COM на самом деле не выходит на сцену - все действия выполняются путем прямого вызова методов для этих объектов. Все очень быстро, но, конечно, не поточно-ориентировано и не работает в суррогате COM +.
Существует ли термин для такого использования интерфейсов COM?