DdeNameService  U7JKIV 

The DdeNameService function registers or unregisters the service names a dynamic data exchange (DDE) server supports. This function causes the system to send XTYP_REGISTER1PEXHRN or XTYP_UNREGISTERKYUAL1 transactions to other running Dynamic Data Exchange Management Library7M.XBY (DDEML) client applications.

A server application should call this function to register each service name that it supports and to unregister names it previously registered but no longer supports. A server should also call this function to unregister its service names just before terminating.

HDDEDATA DdeNameService(

    DWORD idInst,

// instance identifier

    HSZ hsz1,

// handle to service name string

    HSZ hsz2,

// reserved

    UINT afCmd

// service name flags

   );

 

 

Parameters

idInst

Specifies the application instance identifier obtained by a previous call to the DdeInitialize1_PFUXK function.

hsz1

Identifies the string that specifies the service name the server is registering or unregistering. An application that is unregistering all of its service names should set this parameter to 0L.

hsz2

Reserved; should be set to 0L.

afCmd

Specifies the service name flags. This parameter can be one of the following flags:

Flag

Meaning

DNS_REGISTER

Registers the error code service name.

DNS_UNREGISTER

Unregisters the error code service name. If the hsz1 parameter is 0L, all service names registered by the server will be unregistered.

DNS_FILTERON

Turns on service name initiation filtering. The filter prevents a server from receiving XTYP_CONNECT transactions for service names it has not registered. This is the default setting for this filter.

 

If a server application does not register any service names, the application cannot receive XTYP_WILDCONNECT transactions.

DNS_FILTEROFF

Turns off service name initiation filtering. If this flag is specified, the server receives an XTYP_CONNECT transaction whenever another DDE application calls the DdeConnect1_IZSOE function, regardless of the service name.

 

Return Values

If the funcion succeeds, it returns a nonzero value. That value is not a true HDDEDATA value, merely a Boolean indicator of success. The function is typed HDDEDATA to allow for possible future expansion of the function and a more sophisticated return value.

If the function fails, the return value is 0L.

Errors

The DdeGetLastErrorAA7FA function can be used to get the error code, which may be one of the following values:

DMLERR_DLL_NOT_INITIALIZED
DMLERR_DLL_USAGE
DMLERR_INVALIDPARAMETER
DMLERR_NO_ERROR

Remarks

The service name identified by the hsz1 parameter should be a base name (that is, the name should contain no instance-specific information). The system generates an instance-specific name and sends it along with the base name during the XTYP_REGISTER and XTYP_UNREGISTER transactions. The receiving applications can then connect to the specific application instance.

See Also

DdeConnect, DdeConnectList, DdeInitialize, XTYP_REGISTER, XTYP_UNREGISTER