Component Object Model (COM) в Windows работает следующим образом: 1
- Основным понятием стандарта COM является COM-компонент. 1 Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. 1
- Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. 1
- Компонент взаимодействует с другими программами через COM-интерфейсы — наборы абстрактных функций и свойств. 1 Каждый COM-компонент должен, как минимум, реализовывать стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом. 1
- Windows API предоставляет базовые функции, позволяющие использовать COM-компоненты. 1 Библиотеки MFC и, особенно, ATL/WTL предоставляют более гибкие и удобные средства для работы с COM. 1
Также в рамках COM используется технология DCOM (англ. Distributed COM — распределённая COM), которая позволяет COM-компонентам взаимодействовать друг с другом по сети. 12