Compartilhar via


Função DdeGetLastError (ddeml.h)

Recupera o código de erro mais recente definido pela falha de uma função DDEML (Dynamic Data Exchange Management Library) e redefine o código de erro para DMLERR_NO_ERROR.

Sintaxe

UINT DdeGetLastError(
  [in] DWORD idInst
);

Parâmetros

[in] idInst

Tipo: DWORD

O identificador de instância do aplicativo obtido por uma chamada anterior para a função DdeInitialize .

Retornar valor

Tipo: UINT

Se a função for bem-sucedida, o valor retornado será o último código de erro, que pode ser um dos valores a seguir.

Valor/código retornado Descrição
DMLERR_ADVACKTIMEOUT
0x4000
Uma solicitação para uma transação de aconselhamento síncrona atingiu o tempo limite.
DMLERR_BUSY
0x4001
A resposta à transação fez com que o sinalizador DDE_FBUSY fosse definido.
DMLERR_DATAACKTIMEOUT
0x4002
Uma solicitação para uma transação de dados síncrona atingiu o tempo limite.
DMLERR_DLL_NOT_INITIALIZED
0x4003
Uma função DDEML foi chamada sem chamar primeiro a função DdeInitialize ou um identificador de instância inválido foi passado para uma função DDEML.
DMLERR_DLL_USAGE
0x4004
Um aplicativo inicializado como APPCLASS_MONITOR tentou executar uma transação DDE ou um aplicativo inicializado como APPCMD_CLIENTONLY tentou executar transações de servidor.
DMLERR_EXECACKTIMEOUT
0x4005
Uma solicitação para uma transação de execução síncrona atingiu o tempo limite.
DMLERR_INVALIDPARAMETER
0x4006
Não foi possível validar um parâmetro pelo DDEML. Algumas das possíveis causas seguem:

O aplicativo usou um identificador de dados inicializado com um identificador de nome de item diferente do exigido pela transação.

O aplicativo usou um identificador de dados que foi inicializado com um formato de dados de área de transferência diferente do exigido pela transação.

O aplicativo usou um identificador de conversa do lado do cliente com uma função do lado do servidor ou vice-versa.

O aplicativo usou um identificador de dados liberado ou identificador de cadeia de caracteres.

Mais de uma instância do aplicativo usou o mesmo objeto.

DMLERR_LOW_MEMORY
0x4007
Um aplicativo DDEML criou uma condição de corrida prolongada (na qual o aplicativo de servidor supera o cliente), fazendo com que grandes quantidades de memória sejam consumidas.
DMLERR_MEMORY_ERROR
0x4008
Falha na alocação de memória.
DMLERR_NO_CONV_ESTABLISHED
0x400a
Falha na tentativa de um cliente de estabelecer uma conversa.
DMLERR_NOTPROCESSED
0x4009
Uma transação falhou.
DMLERR_POKEACKTIMEOUT
0x400b
Uma solicitação para uma transação de cutucada síncrona atingiu o tempo limite.
DMLERR_POSTMSG_FAILED
0x400c
Uma chamada interna para a função PostMessage falhou.
DMLERR_REENTRANCY
0x400d
Uma instância de aplicativo com uma transação síncrona já em andamento tentou iniciar outra transação síncrona ou a função DdeEnableCallback foi chamada de dentro de uma função de retorno de chamada DDEML.
DMLERR_SERVER_DIED
0x400e
Uma transação do lado do servidor foi tentada em uma conversa encerrada pelo cliente ou o servidor foi encerrado antes de concluir uma transação.
DMLERR_SYS_ERROR
0x400f
Ocorreu um erro interno no DDEML.
DMLERR_UNADVACKTIMEOUT
0x4010
Uma solicitação para encerrar uma transação de aconselhamento atingiu o tempo limite.
DMLERR_UNFOUND_QUEUE_ID
0x4011
Um identificador de transação inválido foi passado para uma função DDEML. Depois que o aplicativo tiver retornado de um retorno de chamada XTYP_XACT_COMPLETE , o identificador de transação dessa função de retorno de chamada não será mais válido.

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

Conceitual

DdeEnableCallback

DdeInitialize

Biblioteca de Gerenciamento dinâmico do Data Exchange

PostMessage

Referência