Share via


WSCInstallNameSpace32, fonction (ws2spi.h)

La fonction WSCInstallNameSpace32 installe un fournisseur d’espaces de noms 32 bits spécifié. Pour les fournisseurs capables de prendre en charge plusieurs espaces de noms, cette fonction doit être appelée pour chaque espace de noms pris en charge, et un identificateur de fournisseur unique doit être fourni à chaque fois.

Note Cet appel est une version strictement 32 bits de WSCInstallNameSpace à utiliser sur les plateformes 64 bits. Il est fourni pour permettre aux processus 64 bits d’accéder aux catalogues 32 bits.

 

Syntaxe

INT WSCInstallNameSpace32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId
);

Paramètres

[in] lpszIdentifier

Pointeur vers une chaîne qui identifie le fournisseur associé à l’identificateur global unique (GUID) passé dans le paramètre lpProviderId .

[in] lpszPathName

Pointeur vers une chaîne qui contient le chemin d’accès à l’image DLL du fournisseur. La chaîne respecte les règles habituelles de résolution de chemin d’accès : ce chemin peut contenir des chaînes d’environnement incorporées (telles que %SystemRoot%). Ces chaînes d’environnement sont développées chaque fois que le WS2_32.DLL doit ensuite charger la DLL du fournisseur pour le compte d’une application. Une fois les chaînes d’environnement incorporées développées, le Ws2_32.dll transmet la chaîne résultante à la fonction LoadLibrary pour charger le fournisseur en mémoire. Pour plus d’informations, consultez LoadLibrary.

[in] dwNameSpace

Descripteur qui spécifie l’espace de noms pris en charge par ce fournisseur.

[in] dwVersion

Descripteur qui spécifie le numéro de version du fournisseur.

[in] lpProviderId

Identificateur unique pour ce fournisseur. Ce GUID doit être généré par Uuidgen.exe.

Valeur retournée

Si aucune erreur ne se produit, la fonction WSCInstallNameSpace32 retourne NO_ERROR (zéro). Sinon, elle 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
WSAEACCES
La routine appelante ne dispose pas des privilèges suffisants pour installer un espace de noms.
WSAEINVAL
Un ou plusieurs arguments ne sont pas valides.
WSANO_RECOVERY
Une erreur non récupérable s’est produite. Cette erreur est retournée dans plusieurs conditions, notamment : le fournisseur est déjà installé, l’utilisateur n’a pas les privilèges d’administration nécessaires pour écrire dans le registre Winsock ou un échec s’est produit lors de la création ou de l’installation d’une entrée de catalogue.
WSASYSCALLFAILURE
Un appel système qui ne devrait jamais échouer a échoué.
WSA_NOT_ENOUGH_MEMORY
La mémoire disponible était insuffisante. Cette erreur est retournée lorsque la mémoire est insuffisante pour allouer une nouvelle entrée de catalogue.

Remarques

WSCInstallNameSpace32 est une version strictement 32 bits de WSCInstallNameSpace. 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 seront 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 à WSCInstallNameSpace32 reconnaissent les modifications.

La fonction WSCInstallNameSpace32 ne peut être appelée que par un utilisateur connecté en tant que membre du groupe Administrateurs. Si WSCInstallNameSpace32 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 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 ensuite exécuter l’application dans un interpréteur de commandes amélioré en tant qu’administrateur intégré (administrateur d’exécution) pour que cette fonction réussisse.

Configuration requise

Condition requise Valeur
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

WSCDeinstallProvider32

WSCEnumProtocols32

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace32