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