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 |
|