Категория: COM (Component Object Model)

COM (Component Object Model) — технология от компании Microsoft, предназначенная для создания программного обеспечения на основе взаимодействующих компонентов. К данной категории отнесены статьи об использовании технологии COM или решении проблем, связанных с ее применением.

Применение

Технология COM широко используется для связи между собой компонентов операционных систем Windows. В частности, подсистема Shell использует COM для загрузки подходящих редакторов для файла с заданным расширением. OLE (Object Linking and Embedding) основана на COM и позволяет реализовывать связывание и внедрение объектов других программ в составные документы (например, документы Microsoft Word и Visio). На основе технологии COM были созданы элементы управления OLE (OLE Controls, или элементы управления OCX), представляющие собой повторно используемые элементы GUI интерфейса (в дальнейшем их переименовали и стали называть ActiveX controls).

Разработка

При разработке приложений использующих COM на С++, используется библиотека ATL/WTL и/или классы библиотеки MFC. При этом ATL (Active Template Library) была и остается наиболее популярной библиотекой для создания COM компонентов. В ее состав входят шаблоны для упрощения создания необходимых для компонента интерфейсов и шаблоны примитивов, использующихся в COM.

Исправление ошибки в поддержке асинхронного COM при запуске приложения

В статье Асинхронный COM под Windows Vista и Windows 7 была описана ошибка, которая появилась при выходе указанных операционных систем. Для разрабатываемого (а на тот момент уже и продававшегося) программного обеспечения надежная работа асинхронного COM была очень важна. Обращения в Microsoft с просьбой внести исправления ничем не закончились. Оставался только один вариант — самостоятельное исправление

API DLL или COM объект? Создание COM объектов без регистрации

При создании многокомпонентных проектов одним из основных вопросов, стоящих перед проектировщиком, является вопрос о том, каким, собственно, образом компоненты будут взаимодействовать друг с другом. Если мы говорим о компонентах, экспортирующих некий набор функций (по сути, библиотеках), то механизмом взаимодействия может быть использование COM интерфейсов и традиционный импорт/экспорт функций и классов. Создание COM объектов «на лету»

Асинхронный COM под Windows Vista и Windows 7

Технология COM (Component Object Model) развивается уже почти двадцать лет. До сих пор на ней построена работа подавляющего числа компонентов системы. Думаю, что так и будет продолжаться в ближайшем будущем. Асинхронный COM — это вариант использования этой технологии. Некоторые приложения начала 2000-х использовали его для построения высоконагруженных серверов. Все не так безоблачно для Асинхронного COM.