Индустрия программирования

Стандарт DDE межпроцессного взаимодействия в операционной системе Windows



Механизм DDE (Dynamic Data Exchange) представляет собой механизм динамического обмена
данными, позволяющий создать постоянно действующие каналы между несколькими
одновременно работающими приложениями операционной системы Windows. Эти каналы могут
создаваться автоматически при запуске приложения или при необходимости, а также по явному
запросу пользователя. После создания каналы могут функционировать без вмешательства
пользователя. Механизм DDE основан на использовании стандартной архитектуры "клиент -
сервер". В терминологии DDE приложение, посылающее данные называется сервером, а
принимающее - клиентом.

В DDE определены несколько стандартных типов сообщений, при помощи которых можно
передавать в приложения дескрипторы объектов глобальной памяти, содержащих необходимые
данные.

Для обработки сообщений, называемых в DDE транзакциями, используется привычный для


Windows способ: для приложения, использующего DDE назначается функция обратного
вызова.

Для работы с использованием технологии DDE приложение-клиент и приложение сервер должны
зарегистрироваться в динамической библиотеке DDEML. Кроме этого сервер должен
зарегистрировать предоставляемые им сервисы, а также темы и элементы данных, входящие в эти
сервисы. После этого клиент может создавать канал, ассоциированный с сервисом и темой,
поддерживаемыми сервером.

По каналу могут передаваться данные трех типов:
  1. Запрос клиента к серверу на передачу обратно определенных данных,
  2. Передача данных от клиента к серверу,
  3. Передача клиентом серверу команды, которую сервер должен выполнить.

В более поздних версиях операционных систем семейства Windows механизм DDE был дополнен
управляющей библиотекой динамического обмена DDEML, которая позволяет упростить
использование механизма DDE, а также является совместимой с операционными системами
Windows NT и Windows 95, не поддерживающими старый стандарт, и с сетевым вариантом DDE -
Network DDE.




Содержание раздела