Библиотека управления динамическими данными Exchange

Динамический обмен данными (DDE) — это форма межпроцессного взаимодействия, использующего общую память для обмена данными между приложениями. Приложения могут использовать DDE для однократной передачи данных, а также для текущих обменов и обновления данных.

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

Имя Описание
Сведения о DDEML Описывает динамический обмен данными.
Основные понятия Обсуждает ключевые понятия, касающиеся динамического обмена данными.
Управление беседами Обсуждает беседы между клиентом и сервером.
Управление данными Описывает, как объекты памяти передают данные из одного приложения в другое.
Мониторинг приложений Описывает, как элементы библиотеки управления динамическими данными Exchange можно использовать для создания приложения, которое отслеживает динамическое действие обмена данными в системе.
Служба имен Описывает, как библиотека управления Динамическим обменом данными позволяет серверу приложению регистрировать имена служб, поддерживаемые им.
Управление транзакциями Описывает, как клиент может отправлять транзакции для получения данных и служб с сервера.
Справочник по DDEML Содержит ссылку на API.

Функции DDEML

Имя Описание
DdeAbandonTransaction Отменяет указанную асинхронную транзакцию и освобождает все ресурсы, связанные с транзакцией.
DdeAccessData Предоставляет доступ к данным в указанном объекте DDE. Приложение должно вызвать функцию DdeUnaccessData , когда она завершит доступ к данным в объекте.
DdeAddData Добавляет данные в указанный объект DDE. Приложение может добавлять данные, начиная с любого смещения с начала объекта. Если новые данные перекрываются уже в объекте, новые данные перезаписывают старые данные в байтах, где происходит перекрытие. Содержимое расположений в объекте, которые не были записаны, не определены.
DdeCallback Определяемая приложением функция обратного вызова, используемая с функциями библиотеки управления Динамическими данными Exchange (DDEML). Он обрабатывает транзакции DDE. Тип PFNCALLBACK определяет указатель на эту функцию обратного вызова. DdeCallback — это заполнитель для имени определяемой приложением функции.
DdeClientTransaction Начинает транзакцию данных между клиентом и сервером. Только клиентское приложение DDE может вызывать эту функцию, и приложение может использовать его только после установки беседы с сервером.
DdeCmpStringHandles Сравнивает значения двух строковых дескрипторов. Значение дескриптора строки не связано с случаем связанной строки.
Dde Подключение Устанавливает беседу с серверным приложением, которое поддерживает указанное имя службы и пару имен раздела. Если существует несколько таких серверов, система выбирает только один.
Dde Подключение List Устанавливает беседу со всеми серверными приложениями, поддерживающими указанное имя службы и пару имен раздела. Приложение также может использовать эту функцию для получения списка дескрипторов бесед, передав функцию существующей дескриптор беседы.
DdeCreateDataHandle Создает объект DDE и заполняет объект данными из указанного буфера. Приложение DDE использует эту функцию во время транзакций, включающих передачу данных в партнерское приложение.
DdeCreateStringHandle Создает дескриптор, определяющий указанную строку. Клиент DDE или серверное приложение может передавать дескриптор строки в качестве параметра другим функциям библиотеки управления Динамическими данными (DDEML).
DdeDisconnect Завершает беседу, запущенную функцией Dde Подключение или Dde Подключение List, и отменяет указанный дескриптор беседы.
DdeDisconnectList Уничтожает указанный список бесед и завершает все беседы, связанные с списком.
DdeEnableCallback Включает или отключает транзакции для определенной беседы или для всех бесед, установленных вызывающим приложением.
DdeFreeDataHandle Оплачивает объект DDE и удаляет дескриптор данных, связанный с объектом.
DdeFreeStringHandle Освобождает дескриптор строки в вызывающем приложении.
DdeGetData Копирует данные из указанного объекта DDE в указанный локальный буфер.
DdeGetLastError Извлекает последний код ошибки, заданный сбоем функции DDEML, и сбрасывает код ошибки на DMLERR_NO_ERROR.
DdeImpersonateClient Олицетворяет клиентское приложение DDE в беседе с клиентом DDE.
DdeInitialize Регистрирует приложение с помощью библиотеки управления Динамическими данными Exchange (DDEML). Приложение должно вызывать эту функцию перед вызовом любой другой функции DDEML.
DdeKeepStringHandle Увеличивает количество использования, связанное с указанным дескриптором. Эта функция позволяет приложению сохранять дескриптор строки, переданный функции обратного вызова DDE приложения. В противном случае строковый дескриптор, передаваемый функции обратного вызова, удаляется при возврате функции обратного вызова. Эта функция также должна использоваться для сохранения копии строкового дескриптора, на который ссылается структура CONVINFO, возвращаемая функцией DdeQueryConvInfo.
DdeNameService Регистрирует или отменяет регистрацию имен служб, поддерживаемых сервером DDE. Эта функция приводит к отправке XTYP_REGISTER или XTYP_UNREGISTER транзакций другим клиентским приложениям библиотеки управления динамическими данными (DDEML).
DdePostAdvise Отправляет транзакцию XTYP_ADVREQ в функцию обратного вызова DDE приложения DDE для каждого клиента с активным циклом консультаций по указанному разделу и элементу. Серверное приложение должно вызывать эту функцию всякий раз, когда данные, связанные с именем раздела или парой имен элементов, изменяются.
DdeQueryConvInfo Извлекает сведения о транзакции DDE и беседе, в которой происходит транзакция.
DdeQueryNextServer Извлекает следующий дескриптор беседы в указанном списке бесед.
DdeQueryString Копирует текст, связанный со строковым дескриптором в буфер.
DdeReconnect Позволяет приложению клиентской библиотеки управления Exchange динамических данных (DDEML) попытаться восстановить беседу со службой, завершив беседу с клиентом. Когда беседа восстановлена, DDEML пытается восстановить все существующие циклы рекомендаций.
DdeSetUserHandle Связывает определенное приложением значение с дескриптором беседы или идентификатором транзакции. Это полезно для упрощения обработки асинхронных транзакций. Приложение может использовать функцию DdeQueryConvInfo для получения этого значения.
DdeUnaccessData Отменяет доступ к объекту DDE. Приложение должно вызвать эту функцию после завершения доступа к объекту.
DdeUninitialize Освобождает все ресурсы DDEML, связанные с вызывающим приложением.

Транзакции DDEML

Имя Описание
XTYP_ADVDATA Сообщает клиенту, что значение элемента данных изменилось. Функция обратного вызова клиента DDE DdeCallback получает эту транзакцию после установления цикла советов с сервером.
XTYP_ADVREQ Сообщает серверу о том, что транзакция советов не указана в указанной паре имени раздела и имени элемента, а данные, соответствующие паре имен темы и имени элемента, изменились. Система отправляет эту транзакцию в функцию обратного вызова DDE DdeCallback после того, как сервер вызывает функцию DdePostAdvise.
XTYP_ADVSTART Клиент использует транзакцию XTYP_ADVSTART для создания цикла советов с сервером. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент указывает XTYP_ADVSTART в качестве параметра wType функции DdeClientTransaction.
XTYP_ADVSTOP Клиент использует транзакцию XTYP_ADVSTOP для завершения цикла консультаций с сервером. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент указывает XTYP_ADVSTOP в функции DdeClientTransaction.
XTYP_CONNECT Клиент использует транзакцию XTYP_CONNECT для установления беседы. Функция обратного вызова сервера DDE, DdeCallback, получает эту транзакцию, когда клиент указывает имя службы, которое поддерживает сервер (и имя раздела, которое не равно NULL) в вызове функции Dde Подключение.
XTYP_CONNECT_CONFIRM Функция обратного вызова сервера DDE DdeCallback получает транзакцию XTYP_CONNECT_CONFIRM, чтобы убедиться, что беседа установлена с клиентом и предоставляет серверу дескриптор беседы. Система отправляет эту транзакцию в результате предыдущей XTYP_CONNECT или XTYP_WILDCONNECT транзакции.
XTYP_DISCONNECT Функция обратного вызова DDE приложения DDE DdeCallback получает транзакцию XTYP_DISCONNECT, когда партнер приложения в беседе использует функцию DdeDisconnect для завершения беседы.
XTYP_ERROR Функция обратного вызова DDE DdeCallback получает транзакцию XTYP_ERROR при возникновении критической ошибки.
XTYP_EXECUTE Клиент использует транзакцию XTYP_EXECUTE для отправки командной строки на сервер. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент указывает XTYP_EXECUTE в функции DdeClientTransaction.
XTYP_MONITOR Функция обратного вызова DDE отладчика DDE, DdeCallback, получает транзакцию XTYP_MONITOR всякий раз, когда событие DDE происходит в системе. Чтобы получить эту транзакцию, приложение должно указать значение APPCLASS_MONITOR при вызове функции DdeInitialize .
XTYP_POKE Клиент использует транзакцию XTYP_POKE для отправки незапрошенных данных на сервер. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент указывает XTYP_POKE в функции DdeClientTransaction.
XTYP_REGISTER Функция обратного вызова DDE DdeCallback получает тип транзакции XTYP_REGISTER всякий раз, когда приложение сервера DDEML использует функцию DdeNameService для регистрации имени службы или всякий раз, когда запускается приложение, отличное от DDEML.
XTYP_REQUEST Клиент использует транзакцию XTYP_REQUEST для запроса данных с сервера. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент указывает XTYP_REQUEST в функции DdeClientTransaction.
XTYP_UNREGISTER Функция обратного вызова DDE DdeCallback получает транзакцию XTYP_UNREGISTER всякий раз, когда приложение сервера DDEML использует функцию DdeNameService для отмены регистрации имени службы или всякий раз, когда приложение, поддерживающее системный раздел, завершается.
XTYP_WILDCONNECT Транзакция XTYP_WILDCONNECT позволяет клиенту устанавливать беседу по каждому из пар имен службы сервера и разделов, которые соответствуют указанному имени службы и имени раздела. Функция обратного вызова сервера DDE DdeCallback получает эту транзакцию, когда клиент задает имя службы NULL, имя раздела NULL или оба вызова функции Dde Подключение или Dde Подключение List.
XTYP_XACT_COMPLETE Функция обратного вызова клиента DDE DdeCallback получает транзакцию XTYP_XACT_COMPLETE при завершении асинхронной транзакции, инициированной вызовом функции DdeClientTransaction.

Структуры DDEML

Имя Описание
CONVCONTEXT Содержит сведения, предоставляемые клиентским приложением DDE. Эта информация полезна для специализированных или межязычных бесед DDE.
CONVINFO Содержит сведения о беседе DDE.
DDEML_MSG_HOOK_DATA Содержит сведения о сообщении DDE и предоставляет доступ на чтение к данным, на которые ссылается сообщение. Эта структура предназначена для использования приложением мониторинга DDEML.
MONCBSTRUCT Содержит сведения о текущей транзакции DDE. Приложение отладки DDE может использовать эту структуру при мониторинге транзакций, которые система передает функциям обратного вызова DDE других приложений.
MONCONVSTRUCT Содержит сведения о беседе DDE. Приложение мониторинга DDE может использовать эту структуру для получения сведений о беседе, которая была создана или прекращена.
MONERRSTRUCT Содержит сведения об текущей ошибке DDE. Приложение мониторинга DDE может использовать эту структуру для отслеживания ошибок, возвращаемых функциями библиотеки управления DDE.
MONHSZSTRUCT Содержит сведения о дескрипторе строки DDE. Приложение мониторинга DDE может использовать эту структуру при мониторинге активности компонента диспетчера строк библиотеки управления DDE.
MONLINKSTRUCT Содержит сведения о цикле рекомендаций DDE. Приложение мониторинга DDE может использовать эту структуру для получения сведений о цикле рекомендаций, который начал или закончился.
MONMSGSTRUCT Содержит сведения о сообщении DDE. Приложение мониторинга DDE может использовать эту структуру для получения сведений о сообщении DDE, отправленном или размещенном.