WM_DDE_ACK mensagem

A mensagem WM_DDE_ACK notifica um aplicativo DDE (Troca Dinâmica de Dados) do recebimento e processamento das seguintes mensagens: WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, WM_DDE_INITIATE ou WM_DDE_REQUEST (em alguns casos).

Para postar essa mensagem, chame a função PostMessage com os parâmetros a seguir.

#define WM_DDE_ACK     0x03E4

Parâmetros

wParam

Ao responder a WM_DDE_INITIATE, esse parâmetro é um identificador para a janela do servidor que envia a mensagem.

Ao responder a WM_DDE_EXECUTE, esse parâmetro é um identificador para a janela do servidor postando a mensagem.

Ao responder a todas as outras mensagens, esse parâmetro é um identificador para a janela cliente ou servidor que está postando a mensagem.

lParam

Ao responder a WM_DDE_INITIATE, a palavra de baixa ordem contém um átomo que identifica o aplicativo de resposta. A palavra de alta ordem contém um átomo que identifica o tópico para o qual uma conversa está sendo estabelecida.

Ao responder a WM_DDE_EXECUTE, a palavra de baixa ordem especifica uma estrutura DDEACK que contém uma série de sinalizadores que indicam o status da resposta. A palavra de alta ordem é um identificador para um objeto de memória global que contém a cadeia de caracteres de comando que foi recebida na mensagem WM_DDE_EXECUTE .

Ao responder a todas as outras mensagens, a palavra de baixa ordem especifica uma estrutura DDEACK que contém uma série de sinalizadores que indicam o status da resposta. A palavra de alta ordem contém um átomo global que identifica o nome do item de dados para o qual a resposta é enviada.

Comentários

Cartazes

Exceto em resposta à mensagem WM_DDE_INITIATE , o aplicativo posta a mensagem WM_DDE_ACK chamando a função PostMessage , não chamando a função SendMessage . Ao responder a WM_DDE_INITIATE, o aplicativo envia a mensagem WM_DDE_ACK chamando SendMessage. Nesse caso, nem o atom de nome do aplicativo nem o átomo de nome do tópico devem ser NULL (mesmo que a mensagem WM_DDE_INITIATE tenha especificado átomos NULL ).

Ao reconhecer qualquer mensagem com um átomo que o acompanha, o aplicativo postando WM_DDE_ACK pode reutilizar o átomo que acompanhou a mensagem original ou pode excluí-la e criar uma nova.

Ao reconhecer WM_DDE_EXECUTE, o aplicativo que posta WM_DDE_ACK deve reutilizar o objeto de memória global identificado na mensagem de WM_DDE_EXECUTE original.

Todas as mensagens WM_DDE_ACK postadas devem criar ou reutilizar o parâmetro lParam chamando a função PackDDElParam ou a função ReuseDDElParam .

Se um aplicativo tiver iniciado o encerramento de uma conversa postando WM_DDE_TERMINATE e aguardando confirmação, o aplicativo de espera não deverá reconhecer (positiva ou negativamente) as mensagens subsequentes enviadas pelo outro aplicativo. O aplicativo de espera deve excluir os átomos ou objetos de memória compartilhada recebidos nessas mensagens intervindo. Objetos de memória não devem ser liberados se o sinalizador fRelease estiver definido como FALSE em mensagens WM_DDE_POKE e WM_DDE_DATA .

Recebimento

O aplicativo que recebe uma mensagem WM_DDE_ACK deve excluir todos os átomos que acompanham a mensagem. Se o aplicativo receber um WM_DDE_ACK em resposta a uma mensagem com um objeto de memória global que acompanha e o objeto tiver sido enviado com os sinalizadores fRelease definidos como FALSE, o aplicativo será responsável por excluir o objeto.

Se o aplicativo receber uma mensagem de WM_DDE_ACK negativa postada em resposta a uma mensagem WM_DDE_ADVISE , o aplicativo deverá excluir o objeto de memória global postado com a mensagem de WM_DDE_ADVISE original. Se o aplicativo receber uma mensagem de WM_DDE_ACK negativa postada em resposta a uma mensagem de WM_DDE_DATA, WM_DDE_POKE ou WM_DDE_EXECUTE , o aplicativo deverá excluir o objeto de memória global postado com a mensagem de WM_DDE_DATA, WM_DDE_POKE ou WM_DDE_EXECUTE original.

O aplicativo que recebe uma mensagem de WM_DDE_ACK postada deve liberar o parâmetro lParam usando a função FreeDDElParam .

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Dde.h (inclua Windows.h)

Confira também

Referência

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

Conceitual

Sobre a Troca Dinâmica de Dados