Partager via


SetServiceA, fonction (nspapi.h)

La fonction SetService inscrit ou supprime du Registre un service réseau dans un ou plusieurs espaces de noms. La fonction peut également ajouter ou supprimer un type de service réseau dans un ou plusieurs espaces de noms.

Remarque La fonction SetService est obsolète. Les fonctions détaillées dans Protocol-Independent résolution de noms fournissent des fonctionnalités équivalentes dans Windows Sockets 2. Pour la commodité des développeurs Windows Sockets 1.1, le matériel de référence est le suivant.
 

Syntaxe

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

Paramètres

[in] dwNameSpace

Espace de noms, ou ensemble d’espaces de noms par défaut, dans lequel la fonction fonctionnera.

Utilisez l’une des constantes suivantes pour spécifier un espace de noms.

Valeur Signification
NS_DEFAULT
Ensemble d’espaces de noms par défaut. La fonction interroge chaque espace de noms dans cet ensemble. L’ensemble d’espaces de noms par défaut inclut généralement tous les espaces de noms installés sur le système. Toutefois, les administrateurs système peuvent exclure des espaces de noms particuliers de l’ensemble. NS_DEFAULT est la valeur que la plupart des applications doivent utiliser pour dwNameSpace.
NS_DNS
Système de noms de domaine utilisé dans Internet pour résoudre le nom de l’hôte.
NS_NDS
Fournisseur NetWare 4.
NS_NETBT
NetBIOS sur la couche TCP/IP. Tous les systèmes Windows inscrivent leurs noms d’ordinateurs auprès de NetBIOS. Cet espace de noms est utilisé pour convertir un nom d’ordinateur en adresse IP qui utilise cette inscription.
NS_SAP
Protocole de publicité du service NetWare. Cela peut accéder au classeur NetWare, le cas échéant. NS_SAP est un espace de noms dynamique qui permet l’inscription des services.
NS_TCPIP_HOSTS
Valeur de recherche dans le fichier <systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Mécanismes de résolution de noms TCP/IP locaux, y compris les comparaisons avec le nom d’hôte local et la valeur de recherche dans le cache des mappages d’adresses IP à l’hôte.

[in] dwOperation

Opération que la fonction effectuera. Utilisez l’une des valeurs suivantes pour spécifier une opération :

Valeur Signification
SERVICE_REGISTER
Inscrivez le service réseau auprès de l’espace de noms. Cette opération peut être utilisée avec les indicateurs de bits SERVICE_FLAG_DEFER et SERVICE_FLAG_HARD.
SERVICE_DEREGISTER
Supprimez du Registre le service réseau de l’espace de noms. Cette opération peut être utilisée avec les indicateurs de bits SERVICE_FLAG_DEFER et SERVICE_FLAG_HARD.
SERVICE_FLUSH
Effectuez toute opération appelée avec l’indicateur de bits SERVICE_FLAG_DEFER défini sur un.
SERVICE_ADD_TYPE
Ajoutez un type de service à l’espace de noms.

Pour cette opération, utilisez le membre ServiceSpecificInfo de la structure SERVICE_INFO pointée par lpServiceInfo pour passer une structure SERVICE_TYPE_INFO_ABS. Vous devez également définir le membre serviceType de la structure SERVICE_INFO. D’autres membres SERVICE_INFO sont ignorés.

SERVICE_DELETE_TYPE
Supprimez un type de service, ajouté par un appel précédent spécifiant l’opération de SERVICE_ADD_TYPE, de l’espace de noms.

[in] dwFlags

Ensemble d’indicateurs de bits qui modifient l’opération de la fonction. Vous pouvez définir un ou plusieurs des indicateurs de bits suivants :

Valeur Signification
SERVICE_FLAG_DEFER
Cet indicateur de bits est valide uniquement si l’opération est SERVICE_REGISTER ou SERVICE_DEREGISTER.

Si cet indicateur de bits est un et qu’il est valide, le fournisseur d’espaces de noms doit différer l’opération d’inscription ou de désinscription jusqu’à ce qu’une opération de SERVICE_FLUSH soit demandée.

SERVICE_FLAG_HARD
Cet indicateur de bits est valide uniquement si l’opération est SERVICE_REGISTER ou SERVICE_DEREGISTER.

Si cet indicateur de bits est un et qu’il est valide, le fournisseur d’espaces de noms met à jour toutes les informations de magasin persistante pertinentes lorsque l’opération est effectuée.

Par exemple : si l’opération implique la désinscription dans un espace de noms qui utilise un magasin persistant, le fournisseur d’espaces de noms supprime les informations de magasin persistante pertinentes.

[in] lpServiceInfo

Pointeur vers une structure SERVICE_INFO qui contient des informations sur le service réseau ou le type de service.

[in, optional] lpServiceAsyncInfo

Réservé pour une utilisation ultérieure. Doit être défini sur NULL.

[out] lpdwStatusFlags

Ensemble d’indicateurs de bits qui reçoivent des informations d’état de fonction. L’indicateur de bits suivant est défini :

Valeur Signification
SET_SERVICE_ PARTIAL_SUCCESS
Un ou plusieurs fournisseurs d’espaces de noms n’ont pas pu effectuer correctement l’opération demandée.

Valeur de retour

Si la fonction échoue, la valeur de retour est SOCKET_ERROR. Pour obtenir des informations d’erreur étendues, appelez GetLastError. GetLastError peut retourner la valeur d’erreur étendue suivante.

Code d’erreur Signification
ERROR_ALREADY_ INSCRIT
La fonction a essayé d’inscrire un service déjà inscrit.

Remarques

Note

L’en-tête nspapi.h définit SetService comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête nspapi.h
bibliothèque Mswsock.lib
DLL Mswsock.dll

Voir aussi

getService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

fonctions Winsock

de référence Winsock