Части приложения COM+
Приложения COM+ состоят из одного или нескольких COM-компонентов.
В документации COM+ используются следующие термины:
-
COM-компонент
-
Двоичная единица кода, создающая COM-объекты (включая код упаковки и регистрации).
-
COM-объект
-
Экземпляр класса COM.
-
КЛАСС COM
-
Именованной, конкретной реализации одного или нескольких интерфейсов. Класс COM определяется CLSID (иногда с помощью ProgID).
-
COM-интерфейс
-
Группа связанных функций метода, предоставляемых классом COM, указывающим контракт. К ним относятся имя, сигнатура интерфейса, семантика интерфейса и формат буфера маршалинга. Интерфейс определяется iiD. Синтаксис интерфейса определяется в библиотеках IDL и/или типов. Интерфейсы класса COM должны быть разделены на управляемые, сплоченные наборы методов.
Интерфейсы COM неизменяемы; Контракт COM указывает, что они не могут быть изменены. Для любого изменения (например, добавления методов) требуется определение нового интерфейса.
-
Метод COM
-
Один из наборов связанных функций, предоставляемых интерфейсом COM.
Настроенные и не настроенные компоненты
Чтобы воспользоваться преимуществами служб, которые поддерживают приложения COM+, среда COM+ предъявляет определенные требования к компонентам COM, созданным для приложений COM+. При добавлении в приложение COM+ компонент COM называется настроенным компонентом.
КОМПОНЕНТЫ COM, созданные для приложений COM+, являются компонентами сервера внутри процесса. Компонент должен содержать библиотеку типов (TLB-файл), чтобы описать все классы, реализованные в компоненте, и объявить интерфейсы для всех классов компонента. Эти компоненты можно создавать и реализовывать с помощью Microsoft Visual Basic, Microsoft Visual C++или любого средства разработки, совместимого с COM.
Ненастройанный компонент — это компонент , который не установлен в приложении COM+. Большинство ненастроенных компонентов можно преобразовать в настроенные компоненты, просто интегрируя их в приложение COM+.
Примечание.
Не используйте один и тот же идентификатор AppID как для приложения COM+, так и в реестре для ненастроенного компонента. При активации ненастроированного компонента, так как активация может получить сведения о приложении COM+ из реестра, который не содержит сведения, необходимые для активации COM. Аналогичные проблемы могут возникнуть, если вызов в CoRegisterClassObject из DllHost, на котором размещено приложение COM+ Server.