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 函数可用于获取错误代码,该错误代码可以是以下值之一:

备注

应用程序可以通过从其 Dynamic Data Exchange ( DDE) 回调函数返回CBR_BLOCK返回代码来禁用特定会话的事务。 使用 DdeEnableCallback 函数重新启用会话时,操作系统将生成与禁用会话时正在处理的相同事务。

使用 EC_QUERYWAITING 标志不会更改会话的启用状态,也不会导致在调用 DdeEnableCallback 的上下文中发出事务。

如果使用 EC_QUERYWAITING 调用 DdeEnableCallback并且 函数返回非零值,则应用程序应尝试快速允许消息处理、从其回调返回或启用回调。 此类结果不保证会进行后续回调。 使用 EC_QUERYWAITING 调用 DdeEnableCallback 可让具有阻止回调的应用程序确定阻止的会话上是否存在任何挂起的事务。 当然,即使此类调用返回零,应用程序也应始终及时处理消息。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ddeml.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

概念性

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

动态数据交换管理库

引用