Поделиться через


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

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

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

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

Функции DDEML

Имя Описание
DdeAbandonTransaction Отменяет указанную асинхронную транзакцию и освобождает все ресурсы, связанные с транзакцией.
DdeAccessData Предоставляет доступ к данным в указанном объекте DDE. Приложение должно вызвать функцию DdeUnaccessData после завершения доступа к данным в объекте.
DdeAddData Добавляет данные в указанный объект DDE. Приложение может добавлять данные, начиная с любого смещения с начала объекта. Если новые данные перекрываются уже в объекте, новые данные перезаписывают старые данные в байтах, где происходит перекрытие. Содержимое расположений в объекте, которые не были записаны, не определены.
DdeCallback Определяемая приложением функция обратного вызова, используемая с функциями библиотеки управления Динамическими данными Exchange (DDEML). Он обрабатывает транзакции DDE. Тип PFNCALLBACK определяет указатель на эту функцию обратного вызова. DdeCallback является заполнителем для имени определяемой приложением функции.
DdeClientTransaction Начинает транзакцию данных между клиентом и сервером. Только клиентское приложение DDE может вызывать эту функцию, и приложение может использовать его только после установки беседы с сервером.
DdeCmpStringHandles Сравнивает значения двух строковых дескрипторов. Значение дескриптора строки не связано с случаем связанной строки.
DdeConnect Устанавливает беседу с серверным приложением, которое поддерживает указанное имя службы и пару имен раздела. Если существует несколько таких серверов, система выбирает только один.
DdeConnectList Устанавливает беседу со всеми серверными приложениями, поддерживающими указанное имя службы и пару имен раздела. Приложение также может использовать эту функцию для получения списка дескрипторов бесед, передав функцию существующей дескриптор беседы.
DdeCreateDataHandle Создает объект DDE и заполняет объект данными из указанного буфера. Приложение DDE использует эту функцию во время транзакций, включающих передачу данных в партнерское приложение.
DdeCreateStringHandle Создает дескриптор, определяющий указанную строку. Клиент DDE или серверное приложение может передавать дескриптор строки в качестве параметра другим функциям библиотеки управления Динамическими данными (DDEML).
DdeDisconnect Завершает беседу, запущенную функцией DdeConnect или DdeConnectList, и отменяет указанный дескриптор беседы.
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 транзакций в другие клиентские клиентские приложения библиотеки управления Динамическими данными Exchange (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) в вызове функции DdeConnect.
XTYP_CONNECT_CONFIRM Функция обратного вызова сервера DDE, DdeCallback, получает транзакцию XTYP_CONNECT_CONFIRM, чтобы убедиться, что беседа установлена с клиентом и предоставить серверу дескриптор беседы. Система отправляет эту транзакцию в результате предыдущей XTYP_CONNECT или XTYP_WILDCONNECT транзакции.
XTYP_DISCONNECT Функция обратного вызова 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 или оба в вызове функции DdeConnect или DdeConnectList.
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, отправленном или размещенном.