Библиотека управления динамическими данными 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, отправленном или размещенном. |