COM-клиенты и серверы

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

Существует два основных типа серверов, внутрипроцессных и внепроцессных серверов. Серверы внутрипроцессных процессов реализуются в динамической связанной библиотеке (DLL), а внепроцессные серверы реализуются в исполняемом файле (EXE). Внепроцессные серверы могут находиться на локальном компьютере или на удаленном компьютере. Кроме того, COM предоставляет механизм, позволяющий серверу обработки (DLL) выполняться в суррогатном процессе EXE, чтобы получить преимущество при запуске процесса на удаленном компьютере. Дополнительные сведения см. в статье "Суррогаты DLL".

Модель программирования COM и конструкции теперь были расширены, чтобы клиенты и серверы COM могли работать вместе в сети, а не только на определенном компьютере. Это позволяет существующим приложениям взаимодействовать с новыми приложениями и друг с другом в сетях с соответствующим администрированием, а новые приложения можно записать, чтобы воспользоваться преимуществами сетевых функций.

Клиентские приложения COM не должны знать, как упаковываются объекты сервера, упаковываются ли они как объекты внутрипроцессного процесса (в библиотеках DLL) или как локальные или удаленные объекты (в EXEs). Распределенный COM позволяет упаковать объекты в виде приложений-служб, синхронизируя COM с расширенными возможностями административной и системной интеграции Windows.

Примечание.

В этой документации для DCOM используется акроним COM. Это связано с тем, что DCOM не отделен; это просто COM с более длинным проводом. В случаях, когда описываемое описание является в частности удаленной операцией, используется термин распределенный COM .

 

COM предназначен для добавления поддержки прозрачности расположения, которая распространяется по сети. Он позволяет приложениям, написанным для отдельных компьютеров, работать по сети и предоставляет функции, расширяющие эти возможности и добавляющие к безопасности, необходимые в сети. (Дополнительные сведения см. в разделе Безопасность в COM.)

COM задает механизм, с помощью которого код класса может использоваться различными приложениями.

Дополнительные сведения см. в следующих разделах:

Синхронизация вызовов

Безопасность в COM