Compartir a través de


mensaje de WM_DDE_POKE

Una aplicación cliente de Intercambio de datos dinámicos (DDE) publica un mensaje de WM_DDE_POKE en una aplicación de servidor DDE. Un cliente usa este mensaje para solicitar al servidor que acepte un elemento de datos no solicitado. Se espera que el servidor responda con un mensaje WM_DDE_ACK que indica si aceptó el elemento de datos.

Para publicar este mensaje, llame a la función PostMessage con los parámetros siguientes.

#define WM_DDE_POKE        0x03E7

Parámetros

wParam

Identificador de la ventana del cliente que publica el mensaje.

lParam

La palabra de orden bajo es un identificador de un objeto de memoria global que contiene una estructura DDEPOKE con los datos e información adicional.

La palabra de orden superior contiene un átomo global que identifica el elemento de datos para el que se envían los datos o la notificación.

Observaciones

Publicación

La aplicación cliente debe asignar memoria para el objeto de memoria global mediante la función GlobalAlloc . La aplicación cliente debe eliminar el objeto si se cumple alguna de las condiciones siguientes:

  • La aplicación de servidor responde con un mensaje de WM_DDE_ACK negativo.
  • El miembro fRelease es FALSE, pero la aplicación de servidor responde con un WM_DDE_ACK positivo o negativo.

La aplicación cliente debe crear el átomo mediante la función GlobalAddAtom .

La aplicación cliente debe crear o reutilizar el parámetro WM_DDE_POKElParam llamando a la función PackDDElParam o a la función ReuseDDElParam .

Recepción

La aplicación de servidor debe publicar el mensaje de WM_DDE_ACK para responder positiva o negativamente. Al publicar WM_DDE_ACK, el servidor puede reutilizar el átomo, o bien puede eliminarlo y crear uno nuevo.

El servidor debe crear o reutilizar el parámetro WM_DDE_ACKlParam llamando a la función PackDDElParam o a la función ReuseDDElParam .

Para liberar el objeto de memoria global, el servidor debe llamar a la función GlobalFree . Además, si el formato de datos es CF_DSPMETAFILEPICT o CF_METAFILEPICT, el servidor también debe llamar a DeleteMetaFile con el identificador de metarchivo incrustado. Estos dos formatos tienen un nivel adicional de direccionamiento indirecto; es decir, una aplicación debe bloquear el objeto para obtener un puntero a un identificador y, a continuación, bloquear ese identificador para obtener un puntero a una estructura METAFILEPICT y, por último, llamar a DeleteMetaFile con el identificador del miembro hMF de la estructura METAFILEPICT .

Para liberar el objeto, el servidor debe llamar a la función FreeDDElParam .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Dde.h (incluya Windows.h)

Consulte también

Referencia

DDEPOKE

FreeDDElParam

GlobalAddAtom

METAFILEPICT

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

DesempaquetadoDElParam

WM_DDE_ACK

Conceptual

Acerca del intercambio de datos dinámicos