DdeNameService功能注册或注销动态数据交换(DDE)服务器支持的服务名称。此函数使系统向其他正在运行的动态数据交换管理库(DDEML)客户端应用程序发送XTYP_REGISTER或XTYP_UNREGISTER事务。
服务器应用程序应该调用此函数来注册它支持的每个服务名称,并注销以前注册但不再支持的名称。服务器也应该调用此函数在终止前取消注册其服务名称。
HDDEDATA DdeNameService(
DWORD 【idInst】, | //实例标识符en |
HSZ 【hsz1plpl】, | //处理服务名称字符串 |
HSZ 【hsz2plpl】, | //保留 |
UINT 【afCmd】 | //服务名称标志 |
); |
参数
【idInst】
指定通过先前调用DdeInitialize函数获取的应用程序实例标识符。
【hsz1plpl】
标识指定服务器正在注册或取消注册的服务名称的字符串。注销所有服务名称的应用程序应将此参数设置为0L。
【hsz2plpl】
Reserved; should be set to 0L.
【afCmd】
指定服务名称标志。此参数可以是以下标志之一:
旗 | 含义 |
DNS_REGISTER | 注册错误代码服务名。 |
DNS_UNREGISTER | 取消注册错误代码服务名称。如果【hsz1plpl】参数为0L,服务器注册的所有服务名称将被注销。 |
DNS_FILTERON | 打开服务名称启动过滤。过滤器可以防止服务器为尚未注册的服务名称接收XTYP_CONNECT事务。这是此过滤器的默认设置。 |
如果服务器应用程序未注册任何服务名称,则应用程序将无法接收XTYP_WILDCONNECT事务。 | |
DNS_FILTEROFF | 关闭服务名称启动过滤。如果指定了此标志,则无论服务名称如何,只要其他DDE应用程序调用{??989796081}函数,服务器就会收到XTYP_CONNECT事务。 |
返回值
如果函数成功,则返回非零值。该值不是真正的HDDEDATA值,只是一个布尔的成功指标。该函数键入HDDEDATA,以便将来可能扩展功能和更复杂的返回值。
如果函数失败,返回值为0L。
错误
可以使用DdeGetLastError函数来获取错误代码,这可能是以下值之一:
DMLERR_DLL_NOT_INITIALIZED
DMLERR_DLL_USAGE
DMLERR_INVALIDPARAMETER
DMLERR_NO_ERROR
备注
由【hsz1plpl】参数标识的服务名称应该是一个基本名称(即名称不能包含任何特定于实例的信息)。在XTYP_REGISTER和XTYP_UNREGISTER事务期间,系统将生成一个特定于实例的名称并将其与基本名称一起发送。接收应用程序可以连接到特定的应用程序实例。
也可以看看
DdeConnect, DdeConnectList, DdeInitialize, XTYP_REGISTER, XTYP_UNREGISTER