Freigeben über


WM_DDE_POKE Nachricht

Eine DDE-Clientanwendung (Dynamic Data Exchange) sendet eine WM_DDE_POKE-Nachricht an eine DDE-Serveranwendung. Ein Client verwendet diese Nachricht, um den Server anzufordern, ein nicht angefordertes Datenelement zu akzeptieren. Es wird erwartet, dass der Server mit einer WM_DDE_ACK Meldung antwortet, die angibt, ob er das Datenelement akzeptiert hat.

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

#define WM_DDE_POKE        0x03E7

Parameter

wParam

Ein Handle für das Clientfenster, das die Nachricht veröffentlicht.

lParam

Das Wort mit niedriger Ordnung ist ein Handle für ein globales Speicherobjekt, das eine DDEPOKE-Struktur mit den Daten und zusätzlichen Informationen enthält.

Das Wort mit hoher Ordnung enthält ein globales Atom, das das Datenelement identifiziert, für das die Daten oder Benachrichtigungen gesendet werden.

Bemerkungen

Entsendung

Die Clientanwendung muss mithilfe der GlobalAlloc-Funktion Arbeitsspeicher für das globale Speicherobjekt zuweisen. Die Clientanwendung muss das Objekt löschen, wenn eine der folgenden Bedingungen zutrifft:

  • Die Serveranwendung antwortet mit einer negativen WM_DDE_ACK Meldung.
  • Der fRelease-Member ist FALSE, aber die Serveranwendung antwortet entweder mit einem positiven oder negativen WM_DDE_ACK.

Die Clientanwendung muss das Atom mithilfe der GlobalAddAtom-Funktion erstellen.

Die Clientanwendung muss den WM_DDE_POKElParam-Parameter erstellen oder wiederverwenden, indem die PackDDElParam-Funktion oder die ReuseDDElParam-Funktion aufgerufen wird.

Empfangen

Die Serveranwendung sollte die WM_DDE_ACK Nachricht veröffentlichen, um positiv oder negativ zu antworten. Beim Veröffentlichen WM_DDE_ACK kann der Server das Atom entweder wiederverwenden oder löschen und ein neues erstellen.

Der Server muss den WM_DDE_ACKlParam-Parameter durch Aufrufen der PackDDElParam-Funktion oder der ReuseDDElParam-Funktion erstellen oder wiederverwenden.

Um das globale Speicherobjekt freizugeben, sollte der Server die GlobalFree-Funktion aufrufen. Wenn das Datenformat entweder CF_DSPMETAFILEPICT oder CF_METAFILEPICT ist, muss der Server auch DeleteMetaFile mit dem eingebetteten Metadateihandle aufrufen. Diese beiden Formate verfügen über eine zusätzliche Dereferenzierungsebene; Das heißt, eine Anwendung muss das Objekt sperren, um einen Zeiger auf ein Handle abzurufen, dann dieses Handle sperren, um einen Zeiger auf eine METAFILEPICT-Struktur abzurufen, und schließlich DeleteMetaFile mit dem Handle aus dem hMF-Member der METAFILEPICT-Struktur aufrufen.

Um das Objekt frei zu geben, sollte der Server die FreeDDElParam-Funktion aufrufen.

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 (windows.h einschließen)

Weitere Informationen

Referenz

DDEPOKE

FreeDDElParam

GlobalAddAtom

METAFILEPICT

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM_DDE_ACK

Konzept

Informationen zum dynamischen Datenaustausch