DdeGetLastError函数返回由动态数据交换管理库(DDEML)函数失败设置的最新错误代码,并将错误代码重置为DMLERR_NO_ERROR。
UINT DdeGetLastError(
DWORD 【idInst】 | //实例标识符en |
); |
参数
【idInst】
指定通过先前调用DdeInitialize函数获取的应用程序实例标识符。
返回值
如果函数成功,则返回值是最后一个错误代码。以下是可能的DDEML错误代码:
值 | 含义 |
DMLERR_ADVACKTIMEOUT | 对同步建议事务的请求已超时。 |
DMLERR_BUSY | 对事务的响应导致设置了DDE_FBUSY标志。 |
DMLERR_DATAACKTIMEOUT | 同步数据事务的请求已超时。 |
DMLERR_DLL_NOT_INITIALIZED | 调用DDEML函数,而不首先调用DdeInitialize函数,否则将无效的实例标识符传递给DDEML函数。 |
DMLERR_DLL_USAGE | 初始化为APPCLASS_MONITOR的应用程序已尝试执行动态数据交换(DDE)事务,或初始化为APPCMD_CLIENTONLY尝试执行服务器事务的应用程序。 |
DMLERR_EXECACKTIMEOUT | 对同步执行事务的请求已超时。 |
DMLERR_INVALIDPARAMETER | DDEML无法验证参数。一些可能的原因如下: |
应用程序使用初始化了不同于事务所需的不同项目名称句柄的数据句柄。 应用程序使用以不同于事务所需的剪贴板数据格式初始化的数据句柄。 应用程序使用释放的数据句柄或字符串句柄。 应用程序使用释放的数据句柄或字符串句柄。 应用程序的多个实例使用相同的对象。 | |
DMLERR_LOW_MEMORY | DDEML应用程序创建了一个长时间的竞争条件(其中服务器应用程序超出客户端),导致大量内存被消耗。 |
DMLERR_MEMORY_ERROR | 内存分配失败。 |
DMLERR_NO_CONV_ESTABLISHED | 客户尝试建立对话失败。 |
DMLERR_NOTPROCESSED | 交易失败。 |
DMLERR_POKEACKTIMEOUT | 同步戳事务的请求已超时。 |
DMLERR_POSTMSG_FAILED | 对PostMessage功能的内部调用失败。 |
DMLERR_REENTRANCY | 具有同步事务的应用程序实例已在进行中尝试启动另一个同步事务,或者从DDEML回调函数中调用DdeEnableCallback函数。 |
DMLERR_SERVER_DIED | 在客户端终止的会话中尝试服务器端事务,或者在完成事务之前终止服务器端事务。 |
DMLERR_SYS_ERROR | DDEML中发生内部错误。 |
DMLERR_UNADVACKTIMEOUT | 结束通知交易的请求已超时。 |
DMLERR_UNFOUND_QUEUE_ID | 一个无效的事务标识符被传递给一个DDEML函数。一旦应用程序从XTYP_XACT_COMPLETE回调返回,该回调函数的事务标识符将不再有效。 |
也可以看看