2010-09-04 2 views
0

Я искал некоторые темы взаимодействия COM, .NET, и я наткнулся на несколько старых COM-примеров с использованием C++, чтобы округлить его, я понял, что u определяет каждый интерфейс и компонент внутри и idl (файл определения интерфейса), так что другие языки, поддерживающие com, могут понимать информацию о типе, но единственный класс com, не определенный в файле idl, - это тот, который получен из IClassFactory, может кто-нибудь рассказать, почему, поскольку другим языкам .NET также требуется получить класс фабрика, чтобы стимулировать другие классы com, так как они могут понять информацию о типе?COM Class Заводы

ответ

0

Заводы класса редко используются напрямую. На самом деле, если вам нужно сначала создать фабрику классов для создания любого COM-объекта, как бы вы сами создали фабрику классов?

COM-библиотека занимается созданием объектов. Например, если COM-сервер является DLL, требуется экспортировать функцию DllGetClassObject. Когда клиент хочет создать COM-объект, он вызывает CoCreateInstance с указанием CLSID. Используя CLSID, библиотека COM обнаруживает, что сервер и (если это DLL) загружает его и вызывает его DllGetClassObject.

Это всего лишь несколько слов по этой теме. COM - очень большая тема; вам, возможно, придется начинать с very beginning, если вы хотите иметь полное понимание ...

Смежные вопросы