Nome servizio

Dynamic Data Exchange Management Library (DDEML) consente a un'applicazione server di registrare i nomi di servizio supportati e di impedire al DDEML di inviare transazioni XTYP_CONNECT per i nomi di servizio non supportati alla funzione di callback di Dynamic Data Exchange (DDE) del server.

Negli argomenti seguenti viene descritto il servizio dei nomi.

Registrazione del nome del servizio

Registrando i relativi nomi di servizio con DDEML, un server informa altre applicazioni DDE nel sistema che è disponibile un nuovo server. Un server registra un nome di servizio chiamando la funzione DdeNameService e specificando un handle stringa che identifica il nome. In risposta, DDEML invia una transazione XTYP_REGISTER alla funzione di callback di ogni applicazione DDEML nel sistema (ad eccezione di quelle che hanno specificato il flag di filtro CBF_SKIP_REGISTRATIONS nella funzione DdeInitialize). La transazione XTYP_REGISTER passa due handle di stringa a una funzione di callback: la prima identifica la stringa che specifica il nome del servizio di base e la seconda identifica la stringa che specifica il servizio specifico dell'istanza. Un client usa in genere il nome del servizio di base in un elenco di server disponibili, in modo che l'utente possa selezionare un server dall'elenco. Il client usa il nome del servizio specifico dell'istanza per stabilire una conversazione con un'istanza specifica di un'applicazione server, se è in esecuzione più di un'istanza.

Un server può usare DdeNameService per annullare la registrazione di un nome di servizio. Questa funzione fa sì che DDEML invii transazioni XTYP_UNREGISTER alle altre applicazioni DDE nel sistema, informandoli che non possono più usare il nome per stabilire conversazioni.

Un server deve chiamare DdeNameService per registrare i relativi nomi di servizio subito dopo aver chiamato DdeInitialize. Un server deve annullare la registrazione dei relativi nomi di servizio usando DdeNameService prima di chiamare la funzione DdeUninitialize.

Filtro dei nomi del servizio

Oltre a registrare i nomi dei servizi, DdeNameService consente a un server di attivare o disattivare il filtro dei nomi del servizio. Quando un server disattiva il filtro dei nomi del servizio, DDEML invia la transazione XTYP_CONNECT alla funzione di callback DDE del server ogni volta che un client chiama la funzione Dde Connessione, indipendentemente dal nome del servizio specificato nella funzione. Quando un server attiva il filtro dei nomi del servizio, DDEML invia la transazione XTYP_CONNECT al server solo quando Dde Connessione specifica un nome di servizio specificato dal server in una chiamata a DdeNameService.

Per impostazione predefinita, il filtro dei nomi del servizio è attivo quando un'applicazione chiama DdeInitialize. Questa impostazione predefinita impedisce al DDEML di inviare la transazione XTYP_CONNECT a un server prima che il server abbia creato la stringa ne gestisce le esigenze. Un server può disattivare il filtro dei nomi del servizio specificando il flag DNS_FILTEROFF in una chiamata a DdeNameService. Il flag DNS_FILTERON attiva il filtro.