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 |
|
Vedi anche
-
Riferimento
-
Informazioni concettuali