Функция DdeGetLastError (ddeml.h)
Извлекает последний код ошибки, заданный в результате сбоя функции DDEML, и сбрасывает код ошибки до DMLERR_NO_ERROR.
Синтаксис
UINT DdeGetLastError(
[in] DWORD idInst
);
Параметры
[in] idInst
Тип: DWORD
Идентификатор экземпляра приложения, полученный при предыдущем вызове функции DdeInitialize .
Возвращаемое значение
Тип: UINT
Если функция выполнена успешно, возвращаемое значение является последним кодом ошибки, который может быть одним из следующих значений.
Возвращаемый код или значение | Описание |
---|---|
|
Истекло время ожидания запроса для синхронной транзакции с рекомендацией. |
|
Ответ на транзакцию вызвал присвоение флага DDE_FBUSY . |
|
Истекло время ожидания запроса для синхронной транзакции данных. |
|
Функция DDEML была вызвана без предварительного вызова функции DdeInitialize или в функцию DDEML был передан недопустимый идентификатор экземпляра. |
|
Приложение, инициализированное как APPCLASS_MONITOR , попыталось выполнить транзакцию DDE или приложение, инициализированное как APPCMD_CLIENTONLY , попыталось выполнить транзакции сервера. |
|
Истекло время ожидания запроса для транзакции синхронного выполнения. |
|
Не удалось проверить параметр DDEML. Ниже приведены некоторые возможные причины. Приложение использовало дескриптор данных, инициализированный дескриптором имени элемента, отличным от требуемого для транзакции. Приложение использовало дескриптор данных, который был инициализирован с форматом данных буфера обмена, отличным от требуемого для транзакции. Приложение использовало дескриптор диалога на стороне клиента с серверной функцией или наоборот. Приложение использовало дескриптор данных или дескриптор строки. Несколько экземпляров приложения использовали один и тот же объект. |
|
Приложение DDEML создало длительное состояние гонки (при котором серверное приложение перегружает клиент), что приводит к потреблению большого объема памяти. |
|
Сбой выделения памяти. |
|
Попытка клиента установить беседу завершилась сбоем. |
|
Транзакция завершилась сбоем. |
|
Истекло время ожидания запроса на синхронную транзакцию poke. |
|
Сбой внутреннего вызова функции PostMessage . |
|
Экземпляр приложения с уже запущенной синхронной транзакцией попытался инициировать другую синхронную транзакцию, или из функции обратного вызова DDEML была вызвана функция DdeEnableCallback . |
|
Транзакция на стороне сервера была предпринята в беседе, завершенной клиентом, или сервер был прерван до завершения транзакции. |
|
В DDEML произошла внутренняя ошибка. |
|
Истекло время ожидания запроса на завершение транзакции с рекомендацией. |
|
В функцию DDEML был передан недопустимый идентификатор транзакции. После возврата приложения из обратного вызова XTYP_XACT_COMPLETE идентификатор транзакции для этой функции обратного вызова становится недействительным. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ddeml.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
См. также раздел
Основные понятия
Библиотека управления динамического обмена данными
Справочные материалы