Funzione DdeGetLastError (ddeml.h)

Recupera il codice di errore più recente impostato dall'errore di una funzione DDEML (Dynamic Data Exchange Management Library) e reimposta il codice di errore in DMLERR_NO_ERROR.

Sintassi

UINT DdeGetLastError(
  [in] DWORD idInst
);

Parametri

[in] idInst

Tipo: DWORD

Identificatore dell'istanza dell'applicazione ottenuto da una chiamata precedente alla funzione DdeInitialize .

Valore restituito

Tipo: UINT

Se la funzione ha esito positivo, il valore restituito è l'ultimo codice di errore, che può essere uno dei valori seguenti.

Codice/valore restituito Descrizione
DMLERR_ADVACKTIMEOUT
0x4000
Una richiesta di timeout per una transazione sincrono.
DMLERR_BUSY
0x4001
La risposta alla transazione ha causato l'impostazione del flag DDE_FBUSY .
DMLERR_DATAACKTIMEOUT
0x4002
Una richiesta per una transazione dati sincrona è scaduta.
DMLERR_DLL_NOT_INITIALIZED
0x4003
Una funzione DDEML è stata chiamata senza prima chiamare la funzione DdeInitialize o un identificatore di istanza non valido è stato passato a una funzione DDEML.
DMLERR_DLL_USAGE
0x4004
Un'applicazione inizializzata come APPCLASS_MONITOR ha tentato di eseguire una transazione DDE o un'applicazione inizializzata come APPCMD_CLIENTONLY ha tentato di eseguire transazioni server.
DMLERR_EXECACKTIMEOUT
0x4005
Una richiesta di timeout per una transazione di esecuzione sincrona.
DMLERR_INVALIDPARAMETER
0x4006
Impossibile convalidare un parametro da DDEML. Alcune delle possibili cause seguono:

L'applicazione ha usato un handle dati inizializzato con un handle di nome elemento diverso rispetto a quello richiesto dalla transazione.

L'applicazione ha usato un handle dati inizializzato con un formato di dati diverso rispetto a quello richiesto dalla transazione.

L'applicazione ha usato un handle di conversazione lato client con una funzione lato server o viceversa.

L'applicazione ha usato un handle di dati o un handle stringa liberato.

Più di un'istanza dell'applicazione ha usato lo stesso oggetto.

DMLERR_LOW_MEMORY
0x4007
Un'applicazione DDEML ha creato una condizione di gara prolungata (in cui l'applicazione server esegue l'esecuzione del client), causando l'utilizzo di grandi quantità di memoria.
DMLERR_MEMORY_ERROR
0x4008
Non è riuscita un'allocazione di memoria.
DMLERR_NO_CONV_ESTABLISHED
0x400a
Il tentativo di un client di stabilire una conversazione non è riuscito.
DMLERR_NOTPROCESSED
0x4009
Una transazione non è riuscita.
DMLERR_POKEACKTIMEOUT
0x400b
Una richiesta per una transazione di poke sincrona è scaduta.
DMLERR_POSTMSG_FAILED
0x400c
Una chiamata interna alla funzione PostMessage non è riuscita.
DMLERR_REENTRANCY
0x400d
Un'istanza dell'applicazione con una transazione sincrona già in corso ha tentato di avviare un'altra transazione sincrona o la funzione DdeEnableCallback è stata chiamata dall'interno di una funzione di callback DDEML.
DMLERR_SERVER_DIED
0x400e
Una transazione lato server è stata tentata in una conversazione terminata dal client o dal server terminato prima di completare una transazione.
DMLERR_SYS_ERROR
0x400f
Si è verificato un errore interno nella DDEML.
DMLERR_UNADVACKTIMEOUT
0x4010
Una richiesta di fine di una transazione di avviso è scaduta.
DMLERR_UNFOUND_QUEUE_ID
0x4011
Un identificatore di transazione non valido è stato passato a una funzione DDEML. Una volta restituita l'applicazione da un callback XTYP_XACT_COMPLETE , l'identificatore della transazione per tale funzione di callback non è più valido.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ddeml.h (includere Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

Informazioni concettuali

DdeEnableCallback

DdeInitialize

Libreria di gestione di Dynamic Data Exchange

PostMessage

Riferimento