WM_DDE_POKE сообщение
Клиентское приложение динамического обмена данными (DDE) отправляет WM_DDE_POKE сообщение в серверное приложение DDE. Клиент использует это сообщение, чтобы запросить у сервера принятие незапрошенного элемента данных. Ожидается, что сервер ответит WM_DDE_ACK сообщением о том, принял ли он элемент данных.
Чтобы опубликовать это сообщение, вызовите функцию PostMessage со следующими параметрами.
#define WM_DDE_POKE 0x03E7
-
wParam
-
Дескриптор клиентского окна, публикующего сообщение.
-
lParam
-
Слово низкого порядка — это дескриптор глобального объекта памяти, содержащего структуру DDEPOKE с данными и дополнительными сведениями.
Слово высокого порядка содержит глобальный атом, определяющий элемент данных, для которого отправляются данные или уведомление.
Клиентское приложение должно выделить память для объекта глобальной памяти с помощью функции GlobalAlloc . Клиентское приложение должно удалить объект , если выполняется одно из следующих условий:
- Серверное приложение отвечает отрицательным WM_DDE_ACK сообщением.
- Элемент fRelease имеет значение FALSE, но серверное приложение отвечает положительным или отрицательным WM_DDE_ACK.
Клиентское приложение должно создать атом с помощью функции GlobalAddAtom .
Клиентское приложение должно создать или повторно использовать параметр WM_DDE_POKElParam путем вызова функции PackDDElParam или ReuseDDElParam .
Серверное приложение должно опубликовать сообщение WM_DDE_ACK , чтобы ответить положительно или отрицательно. При публикации WM_DDE_ACK сервер может либо повторно использовать атом, либо удалить его и создать новый.
Сервер должен создать или повторно использовать параметр WM_DDE_ACKlParam путем вызова функции PackDDElParam или ReuseDDElParam .
Чтобы освободить объект глобальной памяти, сервер должен вызвать функцию GlobalFree . Кроме того, если формат данных CF_DSPMETAFILEPICT или CF_METAFILEPICT, сервер также должен вызвать DeleteMetaFile с внедренным дескриптором метафайла. Эти два формата имеют дополнительный уровень косвенного обращения; То есть приложение должно заблокировать объект , чтобы получить указатель на дескриптор, затем заблокировать этот дескриптор, чтобы получить указатель на структуру METAFILEPICT , и, наконец, вызвать DeleteMetaFile с дескриптором из элемента hMF структуры METAFILEPICT .
Чтобы освободить объект, сервер должен вызвать функцию FreeDDElParam .
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
-
Справочные материалы
-
Основные понятия