Partager via


WSCEnableNSProvider32, fonction (ws2spi.h)

La fonction WSCEnableNSProvider32 active ou désactive un fournisseur d’espace de noms 32 bits spécifié. Il est destiné à donner à l’utilisateur final la possibilité de modifier l’état des fournisseurs d’espaces de noms.

Note Cet appel est une version strictement 32 bits de WSCEnableNSProvider pour une utilisation sur les ordinateurs 64 bits. Il est fourni pour permettre aux processus 64 bits d’accéder aux catalogues 32 bits.

 

Syntaxe

INT WSCEnableNSProvider32(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

Paramètres

[in] lpProviderId

Pointeur vers un identificateur global unique (GUID) pour le fournisseur d’espaces de noms.

[in] fEnable

Valeur booléenne qui, si true, le fournisseur d’espaces de noms est défini sur l’état actif. Si la valeur est FALSE, le fournisseur d’espaces de noms est désactivé et ne sera pas disponible pour les opérations de requête ou l’inscription de service.

Valeur retournée

Si aucune erreur ne se produit, la fonction WSCEnableNSProvider32 retourne NO_ERROR (zéro). Sinon, il retourne SOCKET_ERROR si la fonction échoue et vous devez récupérer le code d’erreur approprié à l’aide de la fonction WSAGetLastError .

Code d'erreur Signification
WSAEFAULT
Le paramètre lpProviderId pointe vers la mémoire qui n’est pas dans une partie valide de l’espace d’adressage utilisateur.
WSAEINVAL
L’identificateur de fournisseur d’espaces de noms spécifié n’est pas valide.
WSASYSCALLFAILURE
Un appel système qui ne doit jamais échouer a échoué.
WSA_NOT_ENOUGH_MEMORY
La mémoire disponible était insuffisante. Cette erreur est retournée quand la mémoire est insuffisante pour allouer une nouvelle entrée de catalogue.

Remarques

La fonction WSCEnableNSProvider32 est destinée à être utilisée pour modifier l’état des fournisseurs d’espaces de noms. Un fournisseur de logiciels indépendant (ISV) ne doit normalement pas désactiver le fournisseur d’espaces de noms d’un autre éditeur de logiciels indépendants pour activer son propre fournisseur. Le choix doit être laissé à l’utilisateur.

WSCEnableNSProvider32 est une version strictement 32 bits de WSCEnableNSProvider. Sur un ordinateur 64 bits, tous les appels ne sont pas spécifiquement 32 bits (par exemple, toutes les fonctions qui ne se terminent pas par « 32 ») fonctionnent sur le catalogue 64 bits natif. Les processus qui s’exécutent sur un ordinateur 64 bits doivent utiliser les appels de fonction 32 bits spécifiques pour fonctionner sur un catalogue strictement 32 bits et préserver la compatibilité. Les définitions et la sémantique des appels 32 bits spécifiques sont les mêmes que leurs équivalents natifs.

Les fonctions de configuration de l’espace de noms n’affectent pas les applications qui sont déjà en cours d’exécution. Les fournisseurs d’espaces de noms nouvellement installés ne sont pas visibles pour les applications et les modifications apportées à l’état d’activation d’un fournisseur d’espaces de noms. Les applications lancées après l’appel à WSCEnableNSProvider32 verront les modifications.

La fonction WSCEnableNSProvider32 ne peut être appelée que par un utilisateur connecté en tant que membre du groupe Administrateurs. Si WSCEnableNSProvider32 est appelé par un utilisateur qui n’est pas membre du groupe Administrateurs, l’appel de fonction échoue.

Pour les ordinateurs exécutant Windows Vista ou Windows Server 2008, cette fonction peut également échouer en raison du contrôle de compte d’utilisateur (UAC). Si une application qui contient cette fonction est exécutée par un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré, cet appel échoue, sauf si l’application a été marquée dans le fichier manifeste avec un paramètre requestedExecutionLevel défini sur requireAdministrator. Si l’application sur Windows Vista ou Windows Server 2008 ne dispose pas de ce fichier manifeste, un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré doit alors exécuter l’application dans un interpréteur de commandes amélioré en tant qu’administrateur intégré (administrateur RunAs) pour que cette fonction réussisse.

Spécifications

   
Client minimal pris en charge Windows Vista, Windows XP Professionnel Édition x64 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008, Windows Server 2003 Édition x64 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ws2spi.h
Bibliothèque Ws2_32.lib
DLL Ws2_32.dll

Voir aussi

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32