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.

Note La fonction SetService est obsolète. Les fonctions détaillées dans Résolution de noms indépendantes du protocole fournissent des fonctionnalités équivalentes dans Windows Sockets 2. Pour la commodité des développeurs Windows Sockets 1.1, les documents de référence sont les suivants.
 

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 de ce jeu. L’ensemble des 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é sur Internet pour résoudre le nom de l’hôte.
NS_NDS
Fournisseur NetWare 4.
NS_NETBT
Couche NetBIOS sur 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
Le protocole NetWare Service Advertising Protocol. Cela peut accéder à la bindery NetWare, le cas échéant. NS_SAP est un espace de noms dynamique qui permet l’inscription de 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, notamment des comparaisons par rapport au nom d’hôte local et à la valeur de recherche dans le cache des mappages d’adresse 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 qui a été 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 . Les autres membres SERVICE_INFO sont ignorés.

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

[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’espace de noms met à jour toutes les informations de magasin persistant pertinentes lors de l’exécution de l’opération.

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 persistantes 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 un usage futur. Doit être défini sur NULL.

[out] lpdwStatusFlags

Ensemble d’indicateurs binaires qui reçoivent des informations de status 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 retournée

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

Code d'erreur Signification
ERROR_ALREADY_ REGISTERED
La fonction a tenté d’inscrire un service qui était déjà inscrit.

Remarques

Notes

L’en-tête nspapi.h définit SetService en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête nspapi.h
Bibliothèque Mswsock.lib
DLL Mswsock.dll

Voir aussi

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Fonctions Winsock

Informations de référence sur Winsock