Объектная модель компонента (COM)

Purpose

COM — это независимая от платформы распределенная объектно-ориентированная система для создания двоичных компонентов программного обеспечения, которые могут взаимодействовать. COM — это базовая технология для технологий OLE Microsoft (составных документов) и ActiveX (компонентов с поддержкой Интернета).

Tip

Современный C++ и COM: Если вы пишете новый код на C++, использующий COM-интерфейсы, отдавайте предпочтение обёрткам умных указателей вместо непосредственных вызовов AddRef/Release:

Approach Когда использовать Header
C++/WinRTwinrt::com_ptr<T> Новый среда выполнения Windows или классический COM-код <winrt/base.h> (проекция C++/WinRT)
WRLMicrosoft::WRL::ComPtr<T> Существующие базы кода, классическая COM, без зависимостей C++/WinRT <wrl/client.h>
Необработанный COM (AddRef/Release) Низкоуровневые библиотеки, границы ABI, реализации COM-сервера <unknwn.h>

Интеллектуальные указатели устраняют наиболее распространенные ошибки COM: утечка ссылок, двойной выпуск и использование после выпуска. Дополнительные сведения см. в разделе "Управление временем существования объектов с помощью подсчета ссылок ".

Где применимо

COM-объекты можно создавать с различными языками программирования. Объектно-ориентированные языки, такие как C++, предоставляют механизмы программирования, упрощающие реализацию COM-объектов. Эти объекты могут находиться в одном процессе в других процессах даже на удаленных компьютерах.

Требования времени выполнения

Сведения о том, какие операционные системы требуются для использования определенного интерфейса или функции, см. в разделе "Требования" документации по интерфейсу или функции.

В этом разделе

Тема Description
Основы COM
Описывает основные понятия и справочник по программированию.
OLE и передача данных
Описывает составные документы и передачу данных.
Элементы управления и страницы свойств
Описывает элементы управления ActiveX и страницы свойств.
Перевод на язык COM
Описывает различия между языками программирования и описание перевода синтаксиса com-объектов с одного языка на другой.
Тема Description
Основы COM
Описывает основные понятия и справочник по программированию.
OLE и передача данных
Описывает составные документы и передачу данных.
Элементы управления и страницы свойств
Описывает элементы управления ActiveX и страницы свойств.
Перевод на язык COM
Описывает различия между языками программирования и описание перевода синтаксиса com-объектов с одного языка на другой.
Тема Description
Объектная модель компонента (COM)
COM — это независимая от платформы распределенная объектно-ориентированная система для создания двоичных компонентов программного обеспечения, которые могут взаимодействовать. COM — это базовая технология для технологий OLE Microsoft (составных документов) и ActiveX (компонентов с поддержкой Интернета).
Автоматизация
Автоматизация позволяет пакетам программного обеспечения предоставлять свои уникальные возможности средствам сценариев и другим приложениям. Автоматизация использует объектную модель компонента (COM), но может быть реализована независимо от других функций OLE, таких как активация на месте.
язык определения интерфейса Microsoft (MIDL)
Язык определения интерфейса Microsoft (MIDL) определяет интерфейсы между клиентскими и серверными программами. Microsoft включает компилятор MIDL с пакетом SDK для платформы, чтобы разработчики могли создавать файлы языка определения интерфейса (IDL) и файлы конфигурации приложений (ACF), необходимые для интерфейсов удаленного вызова процедур (RPC) и интерфейсов COM/DCOM. MIDL также поддерживает создание библиотек типов для автоматизации OLE.
Структурированное хранилище
Структурированное хранилище обеспечивает сохранение файлов и данных в COM путем обработки одного файла в виде структурированной коллекции объектов, известных как хранилища и потоки.
COM+
COM+ является развитием объектной модели компонентов Microsoft (COM) и Microsoft Transaction Server (MTS). COM+ создает и расширяет приложения, написанные с помощью COM, JSON и других технологий на основе COM.