Condividi tramite


Funzione SetServiceA (nspapi.h)

La funzione SetService registra o rimuove dal Registro di sistema un servizio di rete all'interno di uno o più spazi dei nomi. La funzione può anche aggiungere o rimuovere un tipo di servizio di rete all'interno di uno o più spazi dei nomi.

Nota La funzione SetService è obsoleta. Le funzioni descritte in Protocol-Independent risoluzione dei nomi forniscono funzionalità equivalenti in Windows Sockets 2. Per praticità degli sviluppatori windows Sockets 1.1, il materiale di riferimento è il seguente.
 

Sintassi

INT SetServiceA(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOA      lpServiceInfo,
  [in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
  [out]          LPDWORD              lpdwStatusFlags
);

Parametri

[in] dwNameSpace

Spazio dei nomi, o un set di spazi dei nomi predefiniti, all'interno del quale funzione funzionerà.

Utilizzare una delle costanti seguenti per specificare uno spazio dei nomi.

Valore Significato
NS_DEFAULT
Set di spazi dei nomi predefiniti. La funzione esegue una query su ogni spazio dei nomi all'interno di questo set. Il set di spazi dei nomi predefiniti include in genere tutti gli spazi dei nomi installati nel sistema. Gli amministratori di sistema, tuttavia, possono escludere determinati spazi dei nomi dal set. NS_DEFAULT è il valore che la maggior parte delle applicazioni deve usare per dwNameSpace.
NS_DNS
Domain Name System utilizzato in Internet per risolvere il nome dell'host.
NS_NDS
Provider NetWare 4.
NS_NETBT
NetBIOS sul livello TCP/IP. Tutti i sistemi Windows registrano i nomi dei computer con NetBIOS. Questo spazio dei nomi viene usato per convertire un nome computer in un indirizzo IP che usa questa registrazione.
NS_SAP
Protocollo NetWare Service Advertising. In questo modo è possibile accedere al bindery NetWare, se appropriato. NS_SAP è uno spazio dei nomi dinamico che consente la registrazione dei servizi.
NS_TCPIP_HOSTS
Valore di ricerca nel file <systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Meccanismi di risoluzione dei nomi TCP/IP locali, inclusi i confronti con il nome host locale e il valore di ricerca nella cache dell'host ai mapping degli indirizzi IP.

[in] dwOperation

Operazione che verrà eseguita dalla funzione. Usare uno dei valori seguenti per specificare un'operazione:

Valore Significato
SERVICE_REGISTER
Registrare il servizio di rete con lo spazio dei nomi . Questa operazione può essere usata con i flag di bit SERVICE_FLAG_DEFER e SERVICE_FLAG_HARD.
SERVICE_DEREGISTER
Rimuovere dal Registro di sistema il servizio di rete dallo spazio dei nomi . Questa operazione può essere usata con i flag di bit SERVICE_FLAG_DEFER e SERVICE_FLAG_HARD.
SERVICE_FLUSH
Eseguire qualsiasi operazione chiamata con il flag di bit SERVICE_FLAG_DEFER impostato su uno.
SERVICE_ADD_TYPE
Aggiungere un tipo di servizio allo spazio dei nomi .

Per questa operazione, utilizzare il membro ServiceSpecificInfo della struttura SERVICE_INFO a cui punta lpServiceInfo per passare una struttura SERVICE_TYPE_INFO_ABS. È inoltre necessario impostare il membro ServiceType della struttura SERVICE_INFO. Altri membri SERVICE_INFO vengono ignorati.

SERVICE_DELETE_TYPE
Rimuovere un tipo di servizio, aggiunto da una chiamata precedente che specifica l'operazione di SERVICE_ADD_TYPE, dallo spazio dei nomi .

[in] dwFlags

Set di flag di bit che modificano l'operazione della funzione. È possibile impostare uno o più dei flag di bit seguenti:

Valore Significato
SERVICE_FLAG_DEFER
Questo flag di bit è valido solo se l'operazione è SERVICE_REGISTER o SERVICE_DEREGISTER.

Se questo flag di bit è uno e è valido, il provider dello spazio dei nomi deve rinviare l'operazione di registrazione o annullamento della registrazione fino a quando non viene richiesta un'operazione di SERVICE_FLUSH.

SERVICE_FLAG_HARD
Questo flag di bit è valido solo se l'operazione è SERVICE_REGISTER o SERVICE_DEREGISTER.

Se questo flag di bit è uno e è valido, il provider dello spazio dei nomi aggiorna tutte le informazioni rilevanti sull'archivio permanente quando viene eseguita l'operazione.

Ad esempio: se l'operazione comporta la deregistrazione in uno spazio dei nomi che usa un archivio permanente, il provider dello spazio dei nomi rimuoverà le informazioni pertinenti sull'archivio permanente.

[in] lpServiceInfo

Puntatore a una struttura SERVICE_INFO che contiene informazioni sul servizio di rete o sul tipo di servizio.

[in, optional] lpServiceAsyncInfo

Riservato per uso futuro. Deve essere impostato su NULL.

[out] lpdwStatusFlags

Set di flag di bit che ricevono informazioni sullo stato della funzione. Viene definito il flag di bit seguente:

Valore Significato
SET_SERVICE_ PARTIAL_SUCCESS
Uno o più provider di spazi dei nomi non sono riusciti a eseguire correttamente l'operazione richiesta.

Valore restituito

Se la funzione ha esito negativo, il valore restituito viene SOCKET_ERROR. Per ottenere informazioni estese sull'errore, chiamare GetLastError. GetLastError può restituire il valore di errore esteso seguente.

Codice di errore Significato
ERROR_ALREADY_ REGISTRATI
La funzione ha tentato di registrare un servizio già registrato.

Osservazioni

Nota

L'intestazione nspapi.h definisce SetService come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione nspapi.h
libreria Mswsock.lib
dll Mswsock.dll

Vedere anche

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Funzioni Winsock

di riferimento winsock