DdeNameService 函数 (ddeml.h)

注册或注销服务名称动态数据交换 (DDE) 服务器支持。 此函数会导致系统 将XTYP_REGISTERXTYP_UNREGISTER 事务发送到其他正在运行的 动态数据交换管理库 (DDEML) 客户端应用程序。

语法

HDDEDATA DdeNameService(
  [in]           DWORD idInst,
  [in, optional] HSZ   hsz1,
  [in, optional] HSZ   hsz2,
  [in]           UINT  afCmd
);

参数

[in] idInst

类型:DWORD

上一次调用 DdeInitialize 函数时获取的应用程序实例标识符。

[in, optional] hsz1

类型: HSZ

字符串的句柄,指定服务器正在注册或注销的服务名称。 取消注册其所有服务名称的应用程序应将此参数设置为 0L。

[in, optional] hsz2

类型: HSZ

保留;应设置为 0L。

[in] afCmd

类型: UINT

服务名称选项。 此参数的取值可为下列值之一:

含义
DNS_REGISTER
0x0001
注册错误代码服务名称。
DNS_UNREGISTER
0x0002
取消注册错误代码服务名称。 如果 hsz1 参数为 0L,则服务器注册的所有服务名称都将取消注册。
DNS_FILTERON
0x0004
启用服务名称初始筛选。 筛选器阻止服务器接收未注册的服务名称 XTYP_CONNECT 事务。 这是此筛选器的默认设置。

如果服务器应用程序未注册任何服务名称,则应用程序无法接收 XTYP_WILDCONNECT 事务。

DNS_FILTEROFF
0x0008
关闭服务名称启动筛选。 如果指定了此标志,则每当另一个 DDE 应用程序调用 DdeConnect 函数时,服务器都会收到XTYP_CONNECT事务,而不考虑服务名称。

返回值

类型: HDDEDATA

如果函数成功,则返回非零值。 该值不是真正的 HDDEDATA 值,只是成功的布尔值。 函数类型化为 HDDEDATA ,以便将来可能扩展函数和更复杂的返回值。

如果函数失败,则返回值为 0L。

DdeGetLastError 函数可用于获取错误代码,该错误代码可以是以下值之一:

备注

hsz1 参数标识的服务名称应为基名称 (即,该名称不应包含) 特定于实例的信息。 系统生成特定于实例的名称,并在 XTYP_REGISTERXTYP_UNREGISTER 事务期间将其与基名称一起发送。 然后,接收应用程序可以连接到特定的应用程序实例。

要求

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

请参阅

概念性

DdeConnect

DdeConnectList

DdeInitialize

动态数据交换管理库

引用

XTYP_REGISTER

XTYP_UNREGISTER