.com Расширение файла
This file is saved in a binary format, which requires a specific program to read its contents.
.COM вариант №
COM-файл — это исполняемая программа, которая может запускаться MS-DOS и Windows. Он сохраняется в двоичном формате и похож на файл .EXE , но отличается тем, что он имеет максимальный размер примерно 64 КБ и не имеет заголовка или метаданных. COM-файлы обычно используются для выполнения набора инструкций, тогда как EXE-файлы используются для полностью разработанных программ.
Больше информации
Как DOS, так и Windows использовали расширение «.com» на протяжении многих лет, а расширение «.com» не следует путать с доменным именем «.com» в Интернете.
ПРИМЕЧАНИЕ. Если папка содержит файлы EXE и COM с одинаковым именем файла (например, run.exe и run.com), командная строка DOS или Windows будет запускать COM-файл, если вы введете имя файла без расширения.
Common COM Filenames
COMMAND.COM — Программа оболочки Windows, используемая DOS и Windows 95, 98 и Me. Он был заменен cmd.exe в более поздних версиях Windows.
Component Object Model
Шаблон:Нет сносок COM ( Шаблон:Lang-en — объектная модель компонентов; произносится как [ком]) — это Microsoft, предназначенный для создания объектно-ориентированного программирования . Стандарт COM мог бы быть универсальным и платформо-независимым, но закрепился в основном на операционных системах семейства Microsoft Windows . В современных версиях Windows COM используется очень широко. На основе COM были реализованы технологии: ActiveX , DCOM, COM+, DirectX, а также XPCOM .
- 1 История COM
- 1.1 Путаница в названиях
- 3.1 DCOM
- 3.2 COM+
- 3.3 .NET и будущее COM
- 3.4 DCOM через интернет и решение проблемы XP SP2
- 3.5 OPC
- 3.6 OLE
История COM [ ]
Стандарт COM был разработан в OLE . Технология OLE 1.0 уже позволяла создавать т. н. « Шаблон:Lang-en ): например, в пакете Microsoft Office эта технология позволяла включать диаграммы Microsoft Excel в документы Microsoft Word.
Путаница в названиях [ ]
Некоторая путаница между понятиями OLE и ActiveX сохраняется и до сих пор, но речь идёт об одних и тех же COM-технологиях. Причём иногда даже путают понятия OLE и COM. Так, внедряемые OLE-объекты иногда называют COM-объектами, а OLE-контейнеры — COM-контейнерами, и т. п.
Принципы работы COM [ ]
Технологии, основанные на стандарте COM [ ]
DCOM [ ]
Основная статья: DCOM
Выпущенная в Шаблон:Lang-en — распределённая COM) основана на технологии CORBA .
Как DCOM, так и CORBA решают задачу вызова метода объекта, расположенного на другой машине, а также передачу ссылки на объект с одной машины на другую.
Сетевой уровень DCOM называется ORPC (Object RPC) и является объектно-ориентированным расширением DCE RPC.
Технология DCOM обеспечивает базовые установки безопасности, позволяя задавать, кто и из каких машин может создавать экземпляры объекта и вызывать его методы.
COM+ [ ]
Microsoft Transaction Server был включен в Option Pack для Windows NT4 еще в 1997 году.
MTS/COM+ использовался внутри ряда версий веб-сервера MS ISAPI , так и скриптовых по технологии ASP (сама asp.dll есть ISAPI-приложение).
COM+ объединяет компоненты в так называемые приложения COM+, что упрощает администрирование и обслуживание компонентов. Безопасность и производительность — основные направления усовершенствований COM+. Некоторые идеи, заложенные в основу COM+, были также реализованы в Microsoft .NET .
.NET и будущее COM [ ]
В Microsoft .NET , которая на сегодняшний день объявлена Microsoft рекомендуемой основой для создания приложений и компонентов под Windows. По этой причине в .NET включены и средства, позволяющие обращаться к компонентам COM из приложений .NET , и наоборот. По словам представителей Майкрософт, COM (точнее, COM+) и .NET являются отлично взаимодополняющими технологиями.
DCOM через интернет и решение проблемы XP SP2 [ ]
В 2009 году DComLab опубликовал коммерческий продукт ComBridge. При использовании ComBridge для работы по DCOM через интернет не требуется CIS, не используется 135 порт, в локальной сети не требуются настройки dcomcnfg. ComBridge встраивается в транспортный уровень DCOM, полностью выделяя весь трафик созданного объекта и всех полученных из него объектов в отдельный поток.
OPC [ ]
Технология часто критикуется за неоправданную сложность, конкретно:
- необходимость использования двух языков программирования (.idl для описания интерфейсов и, обычно, C++ для написания реализаций). Необходимость возникает только при создании собственных интерфейсов, и не возникает в случае, если разработчик ограничил себя использованием готовых интерфейсов.
- необходимость «прокладочного» кода (в его роли обычно выступает ATL) для того, чтобы создать COM-объект на базе С++ класса. Хотя этот код и тривиален в использовании для опытного человека, он не очень прост для начинающих. Как и в предыдущем пункте, эта проблема возникает только при написании собственных классов и не возникает при одном лишь использовании стандартных чужих классов (для которых Microsoft разработал библиотеку смарт-пойнтеров — comdef.h, _com_ptr_t, эта библиотека делает использование COM-объектов тривиальным).
- необходимость регистрации компонент в реестре операционной системы, причем при этом в качестве идентификатора класса используется нечитаемый человеком Objective C и Cocoa .
Ссылки [ ]
- Раздел разработки Win32 и COM в библиотеке MSDN Раздел COM в библиотеке MSDN Раздел COM+ в библиотеке MSDN Раздел DCOM в библиотеке MSDN раздел COM/DCOM/COM+ на сайте RSDN Концепция COM Использование COM объектов без регистрации в реестре Программирование COM-интерфейсов Подборка статей о COM Литература [ ]
Компоненты Microsoft Windows Основные Модель COM
Microsoft Component Object Model (COM) — это независимая от платформы распределенная объектно-ориентированная система для создания двоичных программных компонентов, которые могут взаимодействовать. COM — это базовая технология ole (составные документы), ActiveX (компоненты с поддержкой Интернета) корпорации Майкрософт, а также другие.
Чтобы понять COM (и, следовательно, все технологии на основе COM), важно понимать, что это не объектно-ориентированный язык, а стандарт. Com также не указывает, как должно быть структурировано приложение; Сведения о языке, структуре и реализации предоставляются разработчику приложения. Вместо этого COM задает объектную модель и требования к программированию, которые позволяют COM-объектам (также называемым com-компонентами или иногда просто объектами) взаимодействовать с другими объектами. Эти объекты могут находиться в одном процессе, в других процессах и даже на удаленных компьютерах. Они могут быть написаны на разных языках, и они могут быть довольно непохожими, поэтому COM называется двоичным стандартом; Стандарт, который применяется после перевода программы в двоичный машинный код.
Единственное требование к языку для COM заключается в том, что код создается на языке, который может создавать структуры указателей и явно или неявно вызывать функции через указатели. Объектно-ориентированные языки, такие как C++ и Smalltalk, предоставляют механизмы программирования, упрощающие реализацию COM-объектов, но для создания и использования COM-объектов можно использовать такие языки, как C, Java и VBScript.
COM определяет основной характер COM-объекта. Как правило, программный объект состоит из набора данных и функций, которые управляют данными. COM-объект — это объект, в котором доступ к данным объекта достигается исключительно с помощью одного или нескольких наборов связанных функций. Эти наборы функций называются интерфейсами, а функции интерфейса называются методами. Кроме того, com требует, чтобы единственный способ получить доступ к методам интерфейса — через указатель на интерфейс.
Помимо указания базового стандарта двоичных объектов, COM определяет некоторые базовые интерфейсы, предоставляющие функции, общие для всех технологий на основе COM, и предоставляет небольшое количество функций, необходимых всем компонентам. COM также определяет, как объекты работают вместе в распределенной среде, и добавил функции безопасности для обеспечения целостности системы и компонентов.
В следующих разделах этого раздела описываются основные проблемы COM, связанные с проектированием объектов COM.
- Com-объекты и интерфейсы
- Использование и реализация IUnknown
- Повторное использовать объекты
- Библиотека COM
- Управление выделением памяти
При подготовке материала использовались источники:
https://fileext.info/extension/com
https://microsoft.fandom.com/ru/wiki/Component_Object_Model
https://learn.microsoft.com/ru-ru/windows/win32/com/the-component-object-model