WM _ _ DDE-ACK-Nachricht

Die WM _ _ DDE-ACK-Nachricht benachrichtigt eine dynamische Daten Exchange-Anwendung (DDE) über den Empfang und die Verarbeitung der folgenden Nachrichten: WM _ DDE- _ UNDWM _ DDE _ EXECUTE, WM _ DDE _ DATA, WM _ DDE _ ADVISE, WM _ DDE _ UNADVISE, WM _ DDE _ INITIATEoder WM _ DDE _ REQUEST (in einigen Fällen).

Um diese Nachricht zu veröffentlichen, rufen Sie die PostMessage-Funktion mit den folgenden Parametern auf.

#define WM_DDE_ACK     0x03E4

Parameter

wParam

Wenn Sie auf WM _ DDE _ INITIATEreagieren, ist dieser Parameter ein Handle für das Serverfenster, das die Nachricht sendet.

Wenn Sie auf WM _ DDE _ EXECUTEreagieren, ist dieser Parameter ein Handle für das Serverfenster, in dem die Nachricht gesendet wird.

Wenn Sie auf alle anderen Nachrichten antworten, ist dieser Parameter ein Handle für den Client oder das Serverfenster, in dem die Nachricht gesendet wird.

lParam

Wenn auf WM _ DDE _ INITIATEreagiert wird, enthält das Wort mit niedriger Reihenfolge ein Atom, das die antwortende Anwendung identifiziert. Das Wort in hoher Reihenfolge enthält ein Atom, das das Thema identifiziert, für das eine Konversation eingerichtet wird.

Wenn auf WM _ DDE _ EXECUTEgeantwortet wird, gibt das Wort mit niedriger Reihenfolge eine DDEACK-Struktur an, die eine Reihe von Flags enthält, die den Status der Antwort angeben. Das Wort in hoher Reihenfolge ist ein Handle für ein globales Speicherobjekt, das die Befehlszeichenfolge enthält, die in der WM _ DDE _ EXECUTE-Nachricht empfangen wurde.

Beim Antworten auf alle anderen Nachrichten gibt das Wort mit niedriger Reihenfolge eine DDEACK-Struktur an, die eine Reihe von Flags enthält, die den Status der Antwort angeben. Das Wort in hoher Reihenfolge enthält ein globales Atom, das den Namen des Datenelements identifiziert, für das die Antwort gesendet wird.

Bemerkungen

Entsendung

Außer als Reaktion auf die WM _ DDE _ INITIATE-Nachricht sendet die Anwendung die WM _ _ DDE-ACK-Nachricht durch Aufrufen der PostMessage-Funktion, nicht durch Aufrufen der SendMessage-Funktion. Wenn sie auf WM _ DDE _ INITIATE antwortet, sendet die Anwendung die WM _ _ DDE-ACK-Nachricht durch Aufrufen von SendMessage. In diesem Fall sollten weder das Anwendungsnamen-Atom noch das Themennamen-Atom NULL sein (auch wenn die WM _ DDE _ INITIATE-Nachricht NULL-Atome angegeben hat).

Wenn eine Nachricht mit einem zugehörigen Atom bestätigt wird, kann die Anwendung, die WM _ DDE _ ACK veröffentlicht, entweder das Atom wiederverwenden, das die ursprüngliche Nachricht begleitet hat, oder sie kann sie löschen und eine neue erstellen.

Bei der Bestätigung von WM _ DDE _ EXECUTEsollte die Anwendung, die WM _ DDE _ ACK sendet, das globale Speicherobjekt wiederverwenden, das in der ursprünglichen WM _ DDE _ EXECUTE-Nachricht identifiziert wurde.

Alle gesendeten WM _ _ DDE-ACK-Nachrichten müssen den lParam-Parameter durch Aufrufen der PackDDElParam-Funktion oder der ReuseDDElParam-Funktion erstellen oder wiederverwenden.

Wenn eine Anwendung die Beendigung einer Konversation durch die Veröffentlichung von WM _ DDE _ TERMINATE initiiert hat und auf eine Bestätigung wartet, sollte die wartende Anwendung nachfolgende Nachrichten, die von der anderen Anwendung gesendet werden, nicht (positiv oder negativ) bestätigen. Die wartende Anwendung sollte alle Atome oder Shared Memory-Objekte löschen, die in diesen dazwischen liegenden Nachrichten empfangen werden. Speicherobjekte sollten nicht freigegeben werden, wenn das fRelease-Flag in WM _ _ DDE-NACHRICHTEN VOM DATENTYP UND WM _ DDE _ DATA-Meldungen auf FALSE festgelegt ist.

Empfangen

Die Anwendung, die eine WM _ _ DDE-ACK-Nachricht empfängt, sollte alle Atome löschen, die die Nachricht begleitet. Wenn die Anwendung als Reaktion auf eine Nachricht mit einem zugehörigen globalen Speicherobjekt eine WM _ _ DDE-ACK empfängt und das Objekt mit den auf FALSE festgelegten fRelease-Flags gesendet wurde, ist die Anwendung für das Löschen des Objekts verantwortlich.

Wenn die Anwendung eine negative WM _ _ DDE-ACK-Nachricht empfängt, die als Antwort auf eine WM _ DDE _ ADVISE-Nachricht gesendet wird, sollte die Anwendung das globale Speicherobjekt löschen, das mit der ursprünglichen WM _ DDE _ ADVISE-Nachricht gepostet wurde. Wenn die Anwendung eine negative WM _ _ DDE-ACK-Nachricht empfängt, die als Antwort auf eine WM _ DDE _ DATA-, WM _ DDE- _ ODER WM _ DDE _ EXECUTE-Nachricht gesendet wird, sollte die Anwendung das globale Speicherobjekt löschen, das mit der ursprünglichen WM _ DDE _ DATA-, WM _ _ DDE-ENTF- oder WM _ DDE _ EXECUTE-Nachricht bereitgestellt wurde.

Die Anwendung, die eine gepostete WM _ _ DDE-ACK-Nachricht empfängt, muss den lParam-Parameter mithilfe der FreeDDElParam-Funktion freigeben.

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Dde.h (include Windows.h)

Weitere Informationen

Verweis

DDEACK

FreeDDElParam

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM _ DDE _ ADVISE

WM _ DDE _ DATA

WM _ DDE _ EXECUTE

WM _ DDE _ INITIATE

WM _ DDE _ BEDE

WM _ DDE _ REQUEST

WM _ DDE _ TERMINATE

WM _ DDE _ UNADVISE

Konzept

Informationen zu dynamische Daten Exchange