Partager via


WM_DDE_ACK message

Le message WM_DDE_ACK avertit une application DDE (Dynamic Data Exchange) de la réception et du traitement des messages suivants : WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, WM_DDE_INITIATE ou WM_DDE_REQUEST (dans certains cas).

Pour publier ce message, appelez la fonction PostMessage avec les paramètres suivants.

#define WM_DDE_ACK     0x03E4

Paramètres

wParam

Lorsque vous répondez à WM_DDE_INITIATE, ce paramètre est un handle de la fenêtre du serveur qui envoie le message.

Lorsque vous répondez à WM_DDE_EXECUTE, ce paramètre est un handle de la fenêtre du serveur qui publie le message.

Lorsque vous répondez à tous les autres messages, ce paramètre est un handle pour la fenêtre du client ou du serveur qui publie le message.

lParam

Lorsque vous répondez à WM_DDE_INITIATE, le mot de bas ordre contient un atome qui identifie l’application qui répond. Le mot d’ordre élevé contient un atome qui identifie le sujet pour lequel une conversation est établie.

Lorsque vous répondez à WM_DDE_EXECUTE, le mot de bas ordre spécifie une structure DDEACK contenant une série d’indicateurs qui indiquent le status de la réponse. Le mot d’ordre élevé est un handle d’un objet de mémoire globale qui contient la chaîne de commande reçue dans le message WM_DDE_EXECUTE .

Lorsque vous répondez à tous les autres messages, le mot de bas ordre spécifie une structure DDEACK contenant une série d’indicateurs qui indiquent le status de la réponse. Le mot d’ordre élevé contient un atome global qui identifie le nom de l’élément de données pour lequel la réponse est envoyée.

Notes

Affichage

Sauf en réponse au message WM_DDE_INITIATE , l’application publie le message WM_DDE_ACK en appelant la fonction PostMessage , et non en appelant la fonction SendMessage . Lorsque vous répondez à WM_DDE_INITIATE, l’application envoie le message WM_DDE_ACK en appelant SendMessage. Dans ce cas, ni l’atome nom de l’application ni l’atome de nom de rubrique ne doivent avoir la valeur NULL (même si le message WM_DDE_INITIATE spécifié des atomes NULL ).

Lors de l’accusé de réception d’un message avec un atome associé, l’application qui publie WM_DDE_ACK peut soit réutiliser l’atome qui a accompagné le message d’origine, soit le supprimer et en créer un nouveau.

Lorsque vous reconnaissez WM_DDE_EXECUTE, l’application qui publie WM_DDE_ACK doit réutiliser l’objet de mémoire globale identifié dans le message WM_DDE_EXECUTE d’origine .

Tous les messages WM_DDE_ACK publiés doivent créer ou réutiliser le paramètre lParam en appelant la fonction PackDDElParam ou la fonction ReuseDDElParam .

Si une application a lancé l’arrêt d’une conversation en publiant WM_DDE_TERMINATE et qu’elle attend une confirmation, l’application en attente ne doit pas accuser réception (positivement ou négativement) des messages ultérieurs envoyés par l’autre application. L’application en attente doit supprimer tous les atomes ou objets de mémoire partagée reçus dans ces messages intermédiaires. Les objets mémoire ne doivent pas être libérés si l’indicateur fRelease a la valeur FALSE dans WM_DDE_POKE et WM_DDE_DATA messages.

Réception

L’application qui reçoit un message WM_DDE_ACK doit supprimer tous les atomes qui l’accompagnent. Si l’application reçoit un WM_DDE_ACK en réponse à un message avec un objet de mémoire globale associé et que l’objet a été envoyé avec les indicateurs fRelease définis sur FALSE, l’application est responsable de la suppression de l’objet.

Si l’application reçoit un message de WM_DDE_ACK négatif publié en réponse à un message WM_DDE_ADVISE , l’application doit supprimer l’objet de mémoire globale publié avec le message WM_DDE_ADVISE d’origine . Si l’application reçoit un message de WM_DDE_ACK négatif publié en réponse à un message WM_DDE_DATA, WM_DDE_POKE ou WM_DDE_EXECUTE , l’application doit supprimer l’objet de mémoire globale publié avec le WM_DDE_DATA, WM_DDE_POKE ou WM_DDE_EXECUTE message d’origine .

L’application qui reçoit un message WM_DDE_ACK publié doit libérer le paramètre lParam à l’aide de la fonction FreeDDElParam .

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Dde.h (inclure Windows.h)

Voir aussi

Référence

DDEACK

FreeDDElParam

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM_DDE_ADVISE

WM_DDE_DATA

WM_DDE_EXECUTE

WM_DDE_INITIATE

WM_DDE_POKE

WM_DDE_REQUEST

WM_DDE_TERMINATE

WM_DDE_UNADVISE

Conceptuel

À propos de Dynamic Data Exchange