DdeGetLastError function

Retrieves the most recent error code set by the failure of a Dynamic Data Exchange Management Library (DDEML) function and resets the error code to DMLERR_NO_ERROR.

Syntax

UINT DdeGetLastError(
  DWORD idInst
);

Parameters

idInst

Type: DWORD

The application instance identifier obtained by a previous call to the DdeInitialize function.

Return value

Type: UINT

If the function succeeds, the return value is the last error code, which can be one of the following values.

Return code/value Description
DMLERR_ADVACKTIMEOUT
0x4000
A request for a synchronous advise transaction has timed out.
DMLERR_BUSY
0x4001
The response to the transaction caused the DDE_FBUSY flag to be set.
DMLERR_DATAACKTIMEOUT
0x4002
A request for a synchronous data transaction has timed out.
DMLERR_DLL_NOT_INITIALIZED
0x4003
A DDEML function was called without first calling the DdeInitialize function, or an invalid instance identifier was passed to a DDEML function.
DMLERR_DLL_USAGE
0x4004
An application initialized as APPCLASS_MONITOR has attempted to perform a DDE transaction, or an application initialized as APPCMD_CLIENTONLY has attempted to perform server transactions.
DMLERR_EXECACKTIMEOUT
0x4005
A request for a synchronous execute transaction has timed out.
DMLERR_INVALIDPARAMETER
0x4006
A parameter failed to be validated by the DDEML. Some of the possible causes follow:

The application used a data handle initialized with a different item name handle than was required by the transaction.

The application used a data handle that was initialized with a different clipboard data format than was required by the transaction.

The application used a client-side conversation handle with a server-side function or vice versa.

The application used a freed data handle or string handle.

More than one instance of the application used the same object.

DMLERR_LOW_MEMORY
0x4007
A DDEML application has created a prolonged race condition (in which the server application outruns the client), causing large amounts of memory to be consumed.
DMLERR_MEMORY_ERROR
0x4008
A memory allocation has failed.
DMLERR_NO_CONV_ESTABLISHED
0x400a
A client's attempt to establish a conversation has failed.
DMLERR_NOTPROCESSED
0x4009
A transaction has failed.
DMLERR_POKEACKTIMEOUT
0x400b
A request for a synchronous poke transaction has timed out.
DMLERR_POSTMSG_FAILED
0x400c
An internal call to the PostMessage function has failed.
DMLERR_REENTRANCY
0x400d
An application instance with a synchronous transaction already in progress attempted to initiate another synchronous transaction, or the DdeEnableCallback function was called from within a DDEML callback function.
DMLERR_SERVER_DIED
0x400e
A server-side transaction was attempted on a conversation terminated by the client, or the server terminated before completing a transaction.
DMLERR_SYS_ERROR
0x400f
An internal error has occurred in the DDEML.
DMLERR_UNADVACKTIMEOUT
0x4010
A request to end an advise transaction has timed out.
DMLERR_UNFOUND_QUEUE_ID
0x4011
An invalid transaction identifier was passed to a DDEML function. Once the application has returned from an XTYP_XACT_COMPLETE callback, the transaction identifier for that callback function is no longer valid.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header ddeml.h (include Windows.h)
Library User32.lib
DLL User32.dll

See also

Conceptual

DdeEnableCallback

DdeInitialize

Dynamic Data Exchange Management Library

PostMessage

Reference