Condividi tramite


messaggio WM_DDE_DATA

Un'applicazione server DDE (Dynamic Data Exchange) pubblica un messaggio WM_DDE_DATA a un'applicazione client DDE per passare un elemento di dati al client o per notificare al client la disponibilità di un elemento dati.

Per pubblicare questo messaggio, chiamare la funzione PostMessage con i parametri seguenti.

#define WM_DDE_DATA        0x03E05

Parametri

wParam

Handle per la finestra del server che registra il messaggio.

lParam

La parola a basso ordine è un handle per un oggetto memoria globale contenente una struttura DDEDATA con i dati e informazioni aggiuntive. L'handle deve essere impostato su NULL se il server invia una notifica al client che il valore dell'elemento dati è cambiato durante un collegamento dati ad accesso frequente. Un collegamento ad accesso frequente viene stabilito dal client che invia un messaggio WM_DDE_ADVISE con il set di bit fDeferUpd .

La parola ad ordine elevato contiene un atomo che identifica l'elemento di dati per cui vengono inviati i dati o la notifica.

Commenti

Distacco

L'applicazione server alloca l'oggetto memoria globale usando la funzione GlobalAlloc . Alloca l'atomo usando la funzione GlobalAddAtom .

Il server deve creare o riutilizzare il parametro WM_DDE_DATAlParam chiamando la funzione PackDDElParam o la funzioneRiusDDElParam .

Se l'applicazione ricevente (client) risponde con un messaggio di WM_DDE_ACK negativo, l'applicazione di registrazione (server) deve eliminare l'oggetto memoria globale; in caso contrario, il client deve eliminare l'oggetto dopo aver estratto il relativo contenuto chiamando la funzione UnpackDDElParam .

Se l'applicazione server imposta il membro fRelease della struttura DDEDATA su FALSE, il server è responsabile dell'eliminazione dell'oggetto al momento della ricezione di un riconoscimento positivo o negativo.

L'applicazione server non deve impostare sia i membri fAckReq che fRelease della struttura DDEDATA su FALSE. Se entrambi i membri sono impostati su FALSE, è impossibile determinare quando eliminare l'oggetto.

Ricezione

Se fAckReq è TRUE, l'applicazione client deve pubblicare il messaggio di WM_DDE_ACK per rispondere positivamente o negativamente. Quando si pubblica WM_DDE_ACK, il client può riutilizzare l'atomo oppure eliminarlo e crearne uno nuovo.

Il client deve creare o riutilizzare il parametro WM_DDE_ACKlParam chiamando la funzione PackDDElParam o la funzioneRiusDDElParam .

Se fAckReq è FALSE, l'applicazione client deve eliminare l'atomo.

Se l'applicazione di registrazione ha specificato l'oggetto memoria globale come NULL, l'applicazione ricevente può richiedere al server di inviare i dati pubblicando un messaggio di WM_DDE_REQUEST .

Dopo l'elaborazione di un messaggio di WM_DDE_DATA in cui l'oggetto memoria globale non è NULL, il client deve liberare l'oggetto, a meno che non sia true una delle condizioni seguenti:

  • Il membro fRelease è FALSE.
  • Il membro fRelease è TRUE, ma l'applicazione client risponde con un messaggio di WM_DDE_ACK negativo.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Dde.h (include Windows.h)

Vedi anche

Riferimento

DDEDATA

FreeDDElParam

GlobalAddAtom

PackDDElParam

PostMessage

RiutilizzoDDElParam

SendMessage

DecomprimereDElParam

WM_DDE_ACK

WM_DDE_ADVISE

WM_DDE_POKE

WM_DDE_REQUEST

Informazioni concettuali

Informazioni su Dynamic Data Exchange