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


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 [только классические приложения]
Заголовок
Dde.h (включая Windows.h)

См. также раздел

Справочные материалы

DDEPOKE

FreeDDElParam

GlobalAddAtom

METAFILEPICT

PackDDElParam

PostMessage

Повторное использованиеDDElParam

SendMessage

РаспаковкаDElParam

WM_DDE_ACK

Основные понятия

Сведения о динамическом обмене данными