The DdeGetLastError function returns 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.
UINT DdeGetLastError(
DWORD idInst | // instance identifier |
); |
Parameters
idInst
Specifies the application instance identifier obtained by a previous call to the DdeInitialize function.
Return Values
If the function succeeds, the return value is the last error code. Following are the possible DDEML error codes:
Value | Meaning |
DMLERR_ADVACKTIMEOUT | A request for a synchronous advise transaction has timed out. |
DMLERR_BUSY | The response to the transaction caused the DDE_FBUSY flag to be set. |
DMLERR_DATAACKTIMEOUT | A request for a synchronous data transaction has timed out. |
DMLERR_DLL_NOT_INITIALIZED | 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 | An application initialized as APPCLASS_MONITOR has attempted to perform a dynamic data exchange (DDE) transaction, or an application initialized as APPCMD_CLIENTONLY has attempted to perform server transactions. |
DMLERR_EXECACKTIMEOUT | A request for a synchronous execute transaction has timed out. |
DMLERR_INVALIDPARAMETER | 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 | 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 | A memory allocation has failed. |
DMLERR_NO_CONV_ESTABLISHED | A client's attempt to establish a conversation has failed. |
DMLERR_NOTPROCESSED | A transaction has failed. |
DMLERR_POKEACKTIMEOUT | A request for a synchronous poke transaction has timed out. |
DMLERR_POSTMSG_FAILED | An internal call to the PostMessage function has failed. |
DMLERR_REENTRANCY | 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 | A server-side transaction was attempted on a conversation terminated by the client, or the server terminated before completing a transaction. |
DMLERR_SYS_ERROR | An internal error has occurred in the DDEML. |
DMLERR_UNADVACKTIMEOUT | A request to end an advise transaction has timed out. |
DMLERR_UNFOUND_QUEUE_ID | 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. |
See Also