Поделиться через


Функция DdeEnableCallback (ddeml.h)

Включает или отключает транзакции для определенной беседы или для всех диалогов, установленных вызывающим приложением.

Синтаксис

BOOL DdeEnableCallback(
  [in] DWORD idInst,
  [in] HCONV hConv,
  [in] UINT  wCmd
);

Параметры

[in] idInst

Тип: DWORD

Идентификатор экземпляра приложения, полученный при предыдущем вызове функции DdeInitialize .

[in] hConv

Тип: HCONV

Дескриптор диалога для включения или отключения. Если этот параметр имеет значение NULL, функция влияет на все диалоги.

[in] wCmd

Тип: UINT

Код функции. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
EC_ENABLEALL
0
Включает все транзакции для указанного диалога.
EC_ENABLEONE
0x0080
Включает одну транзакцию для указанного диалога.
EC_DISABLE
0x0008
Отключает все блокируемые транзакции для указанного диалога.

Серверное приложение может отключить следующие транзакции:

Клиентское приложение может отключить следующие транзакции:
EC_QUERYWAITING
2
Определяет, находятся ли в очереди для указанного диалога какие-либо транзакции.

Возвращаемое значение

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение.

Если параметр wCmd имеет значение EC_QUERYWAITING, а очередь транзакций приложения содержит одну или несколько необработанных транзакций, которые не обрабатываются, возвращается значение TRUE; в противном случае — FALSE.

Функция DdeGetLastError может использоваться для получения кода ошибки, который может иметь одно из следующих значений:

Комментарии

Приложение может отключить транзакции для определенного диалога, возвращая код возврата CBR_BLOCK из функции обратного вызова Динамического обмена данными (DDE). При повторном включении диалога с помощью функции DdeEnableCallback операционная система создает ту же транзакцию, которая была в процессе при отключении диалога.

Использование флага EC_QUERYWAITING не изменяет состояние включения диалога и не вызывает выдачу транзакций в контексте вызова DdeEnableCallback.

Если DdeEnableCallback вызывается с EC_QUERYWAITING и функция возвращает ненулевое значение, приложение должно попытаться быстро разрешить обработку сообщений, вернуться из обратного вызова или включить обратные вызовы. Такой результат не гарантирует, что последующие обратные вызовы будут выполнены. Вызов DdeEnableCallback с помощью EC_QUERYWAITING позволяет приложению с заблокированными обратными вызовами определить, есть ли ожидающие транзакции в заблокированном диалоге. Конечно, даже если такой вызов возвращает ноль, приложение всегда должно своевременно обрабатывать сообщения.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ddeml.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

Основные понятия

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

Библиотека управления Динамическим обменом данными

Справочные материалы