Freigeben über


WM_DDE_ACK Nachricht

Die WM_DDE_ACK Nachricht benachrichtigt eine DDE-Anwendung (Dynamic Data Exchange) über den Empfang und die Verarbeitung der folgenden Nachrichten: WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, WM_DDE_INITIATE oder WM_DDE_REQUEST (in einigen Fällen).

Rufen Sie zum Posten dieser Nachricht die PostMessage-Funktion mit den folgenden Parametern auf.

#define WM_DDE_ACK     0x03E4

Parameter

wParam

Beim Reagieren auf WM_DDE_INITIATE ist dieser Parameter ein Handle für das Serverfenster, das die Nachricht sendet.

Beim Reagieren auf WM_DDE_EXECUTE ist dieser Parameter ein Handle für das Serverfenster, das die Nachricht veröffentlicht.

Bei der Antwort auf alle anderen Nachrichten ist dieser Parameter ein Handle für das Client- oder Serverfenster, das die Nachricht veröffentlicht.

lParam

Wenn sie auf WM_DDE_INITIATE reagieren, enthält das Wort mit niedriger Reihenfolge ein Atom, das die Antwortanwendung identifiziert. Das Wort mit hoher Reihenfolge enthält ein Atom, das das Thema identifiziert, für das eine Unterhaltung eingerichtet wird.

Beim Reagieren auf WM_DDE_EXECUTE 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 mit hoher Reihenfolge ist ein Handle für ein globales Speicherobjekt, das die Befehlszeichenfolge enthält, die in der WM_DDE_EXECUTE Nachricht empfangen wurde.

Wenn Sie auf alle anderen Nachrichten antworten, 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 mit 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 veröffentlicht die Anwendung die WM_DDE_ACK Nachricht, indem sie die PostMessage-Funktion aufruft, nicht durch Aufrufen der SendMessage-Funktion. Wenn sie auf WM_DDE_INITIATE reagieren, sendet die Anwendung die WM_DDE_ACK Nachricht durch Aufrufen von SendMessage. In diesem Fall sollte weder das Atom des Anwendungsnamens noch das Themanamen-Atom NULL sein (auch wenn die WM_DDE_INITIATE Nachricht NULL-Atome angegeben hat).

Wenn sie eine Nachricht mit einem begleitenden Atom bestätigen, 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 WM_DDE_EXECUTE sollte die Anwendung, die WM_DDE_ACK veröffentlicht, das globale Speicherobjekt wiederverwenden, das in der ursprünglichen WM_DDE_EXECUTE Nachricht identifiziert wurde.

Alle geposteten WM_DDE_ACK Nachrichten müssen den lParam-Parameter erstellen oder wiederverwenden, indem die PackDDDElParam-Funktion oder die Funktion "ReuseDDDElParam " aufgerufen wird.

Wenn eine Anwendung die Beendigung einer Unterhaltung initiiert hat, indem sie WM_DDE_TERMINATE veröffentlicht und auf bestätigung wartet, sollte die wartende Anwendung keine nachfolgenden Nachrichten bestätigen (positiv oder negativ), die von der anderen Anwendung gesendet werden. Die wartende Anwendung sollte alle Atome oder freigegebenen Speicherobjekte löschen, die in diesen dazwischenliegenden Nachrichten empfangen wurden. Speicherobjekte sollten nicht freigegeben werden, wenn das fRelease-Flag in WM_DDE_POKE und WM_DDE_DATA Nachrichten auf FALSE festgelegt ist.

Empfangen

Die Anwendung, die eine WM_DDE_ACK Nachricht empfängt, sollte alle Atome löschen, die die Nachricht begleiten. Wenn die Anwendung als Reaktion auf eine Nachricht mit einem begleitenden 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 veröffentlicht wurde, sollte die Anwendung das globale Speicherobjekt löschen, das mit der ursprünglichen WM_DDE_ADVISE Nachricht veröffentlicht wurde. Wenn die Anwendung eine negative WM_DDE_ACK Nachricht empfängt, die als Antwort auf eine WM_DDE_DATA, WM_DDE_POKE oder WM_DDE_EXECUTE Nachricht veröffentlicht wurde, sollte die Anwendung das globale Speicherobjekt löschen, das mit der ursprünglichen WM_DDE_DATA, WM_DDE_POKE oder WM_DDE_EXECUTE Nachricht gepostet wurde.

Die Anwendung, die eine gepostete WM_DDE_ACK Nachricht empfängt, muss den lParam-Parameter mithilfe der Funktion FreeDDElParam 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 (einschließen Windows.h)

Weitere Informationen

Referenz

DDEACK

FreeDDElParam

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

EntpackDDElParam

WM_DDE_ADVISE

WM_DDE_DATA

WM_DDE_EXECUTE

WM_DDE_INITIATE

WM_DDE_POKE

WM_DDE_REQUEST

WM_DDE_TERMINATE

WM_DDE_UNADVISE

Konzept

Informationen zu dynamischen Daten Exchange