Função DdeInitializeA (ddeml.h)
Registra um aplicativo com a DDEML (Biblioteca de Gerenciamento do Dynamic Data Exchange ). Um aplicativo deve chamar essa função antes de chamar qualquer outra função DDEML (Dynamic Data Exchange Management Library).
Sintaxe
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parâmetros
[in, out] pidInst
Tipo: LPDWORD
O identificador da instância do aplicativo. Na inicialização, esse parâmetro deve apontar para 0. Se a função for bem-sucedida, esse parâmetro apontará para o identificador de instância do aplicativo. Esse valor deve ser passado como o parâmetro idInst em todas as outras funções DDEML que o exigem. Se um aplicativo usar várias instâncias da DLL (biblioteca de vínculo dinâmico) DDEML, o aplicativo deverá fornecer uma função de retorno de chamada diferente para cada instância.
Se pidInst apontar para um valor diferente de zero, a reinicialização do DDEML estará implícita. Nesse caso, pidInst deve apontar para um identificador de instância de aplicativo válido.
[in] pfnCallback
Tipo: PFNCALLBACK
Um ponteiro para a função de retorno de chamada DDE definida pelo aplicativo. Essa função processa transações DDE enviadas pelo sistema. Para obter mais informações, consulte a função de retorno de chamada DdeCallback .
[in] afCmd
Tipo: DWORD
Um conjunto de sinalizadores APPCMD_, CBF_ e MF_ . Os sinalizadores de APPCMD_ fornecem instruções especiais para DdeInitialize. Os sinalizadores CBF_ especificam filtros que impedem que tipos específicos de transações atinjam a função de retorno de chamada. Os sinalizadores MF_ especificam os tipos de atividade DDE que um aplicativo de monitoramento de DDE monitora. O uso desses sinalizadores melhora o desempenho de um aplicativo DDE eliminando chamadas desnecessárias para a função de retorno de chamada.
Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Possibilita que o aplicativo monitore a atividade DDE no sistema. Esse sinalizador é usado por aplicativos de monitoramento de DDE. O aplicativo especifica os tipos de atividade DDE a serem monitorados combinando um ou mais sinalizadores de monitor com o sinalizador APPCLASS_MONITOR . Para obter detalhes, consulte a seção Comentários a seguir. |
|
Registra o aplicativo como um aplicativo DDEML padrão (não monitorado). |
|
Impede que o aplicativo se torne um servidor em uma conversa DDE. O aplicativo só pode ser um cliente. Esse sinalizador reduz o consumo de recursos pelo DDEML. Ele inclui a funcionalidade do sinalizador CBF_FAIL_ALLSVRXACTIONS . |
|
Impede que o DDEML envie XTYP_CONNECT e XTYP_WILDCONNECT transações para o aplicativo até que o aplicativo tenha criado seus identificadores de cadeia de caracteres e registrado seus nomes de serviço ou tenha desativado a filtragem por uma chamada subsequente para a função DdeNameService ou DdeInitialize . Esse sinalizador está sempre em vigor quando um aplicativo chama DdeInitialize pela primeira vez, independentemente de o aplicativo especificar o sinalizador. Em chamadas subsequentes para DdeInitialize, não especificar esse sinalizador desativa os filtros de nome de serviço do aplicativo, mas especificá-lo ativa os filtros de nome de serviço do aplicativo. |
|
Impede que a função de retorno de chamada receba transações de servidor. O sistema retorna DDE_FNOTPROCESSED para cada cliente que envia uma transação para esse aplicativo. Esse sinalizador é equivalente a combinar todos os sinalizadores CBF_FAIL_. |
|
Impede que a função de retorno de chamada receba transações XTYP_ADVSTART e XTYP_ADVSTOP . O sistema retorna DDE_FNOTPROCESSED para cada cliente que envia uma transação de XTYP_ADVSTART ou XTYP_ADVSTOP para o servidor. |
|
Impede que a função de retorno de chamada receba transações XTYP_CONNECT e XTYP_WILDCONNECT . |
|
Impede que a função de retorno de chamada receba transações XTYP_EXECUTE . O sistema retorna DDE_FNOTPROCESSED a um cliente que envia uma transação XTYP_EXECUTE para o servidor. |
|
Impede que a função de retorno de chamada receba transações XTYP_POKE . O sistema retorna DDE_FNOTPROCESSED a um cliente que envia uma transação XTYP_POKE para o servidor. |
|
Impede que a função de retorno de chamada receba transações XTYP_REQUEST . O sistema retorna DDE_FNOTPROCESSED a um cliente que envia uma transação XTYP_REQUEST para o servidor. |
|
Impede que a função de retorno de chamada receba transações XTYP_CONNECT da própria instância do aplicativo. Esse sinalizador impede que um aplicativo estabeleça uma conversa DDE com sua própria instância. Um aplicativo deve usar esse sinalizador se precisar se comunicar com outras instâncias de si mesmo, mas não consigo mesmo. |
|
Impede que a função de retorno de chamada receba quaisquer notificações. Esse sinalizador é equivalente a combinar todos os sinalizadores CBF_SKIP_. |
|
Impede que a função de retorno de chamada receba XTYP_CONNECT_CONFIRM notificações. |
|
Impede que a função de retorno de chamada receba XTYP_DISCONNECT notificações. |
|
Impede que a função de retorno de chamada receba XTYP_REGISTER notificações. |
|
Impede que a função de retorno de chamada receba XTYP_UNREGISTER notificações. |
|
Notifica a função de retorno de chamada sempre que uma transação é enviada para qualquer função de retorno de chamada DDE no sistema. |
|
Notifica a função de retorno de chamada sempre que uma conversa é estabelecida ou encerrada. |
|
Notifica a função de retorno de chamada sempre que ocorre um erro DDE. |
|
Notifica a função de retorno de chamada sempre que um aplicativo DDE cria, libera ou incrementa a contagem de uso de um identificador de cadeia de caracteres ou sempre que um identificador de cadeia de caracteres é liberado como resultado de uma chamada para a função DdeUninitialize . |
|
Notifica a função de retorno de chamada sempre que um loop de aviso é iniciado ou encerrado. |
|
Notifica a função de retorno de chamada sempre que o sistema ou um aplicativo posta uma mensagem DDE. |
|
Notifica a função de retorno de chamada sempre que o sistema ou um aplicativo envia uma mensagem DDE. |
ulRes
Tipo: DWORD
Reservados; deve ser definido como zero.
Retornar valor
Tipo: UINT
Se a função for bem-sucedida, o valor retornado será DMLERR_NO_ERROR.
Se a função falhar, o valor retornado será um dos seguintes valores:
Comentários
Um aplicativo que usa várias instâncias do DDEML não deve passar objetos DDEML entre instâncias.
Um aplicativo de monitoramento de DDE não deve tentar executar operações DDE (estabelecer conversas, emitir transações e assim por diante) dentro do contexto da mesma instância do aplicativo.
Uma transação síncrona falhará com um erro de DMLERR_REENTRANCY se qualquer instância da mesma tarefa tiver uma transação síncrona já em andamento.
O sinalizador CBF_FAIL_ALLSVRXACTIONS faz com que o DDEML filtre todas as transações de servidor e pode ser alterado por uma chamada subsequente para DdeInitialize. O sinalizador APPCMD_CLIENTONLY impede que o DDEML crie recursos de chave para o servidor e não pode ser alterado por uma chamada subsequente para DdeInitialize.
Há uma versão ANSI e uma versão Unicode de DdeInitialize. A versão chamada determina o tipo dos procedimentos de janela usados para controlar conversas DDE (ANSI ou Unicode) e o valor padrão para o membro iCodePage da estrutura CONVCONTEXT (CP_WINANSI ou CP_WINUNICODE).
Observação
O cabeçalho ddeml.h define DdeInitialize como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
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] |
Plataforma de Destino | Windows |
Cabeçalho | ddeml.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Confira também
Visão geral da biblioteca de gerenciamento do Dynamic Data Exchange