WNetAddConnectionA, fonction (winnetwk.h)

La fonction WNetAddConnection permet à l’application appelante de connecter un appareil local à une ressource réseau. Une connexion réussie est persistante, ce qui signifie que le système restaure automatiquement la connexion lors des opérations d’ouverture de session suivantes.

Note Cette fonction est fournie uniquement pour la compatibilité avec les versions 16 bits de Windows. D’autres applications Windows doivent appeler la fonction WNetAddConnection2 ou WNetAddConnection3 .
 

Syntaxe

DWORD WNetAddConnectionA(
  [in] LPCSTR lpRemoteName,
  [in] LPCSTR lpPassword,
  [in] LPCSTR lpLocalName
);

Paramètres

[in] lpRemoteName

Pointeur vers une chaîne constante terminée par null qui spécifie la ressource réseau à laquelle se connecter.

[in] lpPassword

Pointeur vers une chaîne constante terminée par null qui spécifie le mot de passe à utiliser pour établir une connexion. Ce paramètre est généralement le mot de passe associé à l’utilisateur actuel.

Si ce paramètre a la valeur NULL, le mot de passe par défaut est utilisé. Si la chaîne est vide, aucun mot de passe n’est utilisé.

Windows Me/98/95 : Ce paramètre doit être NULL ou une chaîne vide.

[in] lpLocalName

Pointeur vers une chaîne constante terminée par un caractère Null qui spécifie le nom d’un appareil local à rediriger, tel que « F: » ou « LPT1 ». La chaîne est traitée de manière non sensible à la casse. Si la chaîne a la valeur NULL, une connexion à la ressource réseau est établie sans rediriger l’appareil local.

Valeur retournée

Si la fonction réussit, la valeur de retour est NO_ERROR.

Si la fonction échoue, la valeur de retour est un code d’erreur système, comme l’une des valeurs suivantes.

Code de retour Description
ERROR_ACCESS_DENIED
L’appelant n’a pas accès à la ressource réseau.
ERROR_ALREADY_ASSIGNED
L’appareil spécifié dans le paramètre lpLocalName est déjà connecté.
ERROR_BAD_DEV_TYPE
Le type d’appareil et le type de ressource ne correspondent pas.
ERROR_BAD_DEVICE
La valeur spécifiée dans le paramètre lpLocalName n’est pas valide.
ERROR_BAD_NET_NAME
La valeur spécifiée dans le paramètre lpRemoteName n’est pas valide ou ne peut pas être trouvée.
ERROR_BAD_PROFILE
Le profil utilisateur est dans un format incorrect.
ERROR_CANNOT_OPEN_PROFILE
Le système ne peut pas ouvrir le profil utilisateur pour traiter les connexions persistantes.
ERROR_DEVICE_ALREADY_REMEMBERED
Une entrée pour l’appareil spécifié dans le paramètre lpLocalName se trouve déjà dans le profil utilisateur.
ERROR_EXTENDED_ERROR
Une erreur spécifique au réseau s’est produite. Pour obtenir une description de l’erreur, appelez la fonction WNetGetLastError .
ERROR_INVALID_PASSWORD
Le mot de passe spécifié n’est pas valide.
ERROR_NO_NET_OR_BAD_PATH
Impossible d’effectuer l’opération, car un composant réseau n’est pas démarré ou parce qu’un nom spécifié ne peut pas être utilisé.
ERROR_NO_NETWORK
Le réseau n'est pas disponible.

Remarques

Sur Windows Server 2003 et Windows XP, les fonctions WNet créent et suppriment des lettres de lecteur réseau dans l’espace de noms d’appareil MS-DOS associé à une session d’ouverture de session, car les appareils MS-DOS sont identifiés par AuthenticationID (un
identificateur local unique, ou LUID, associé à une session d’ouverture de session.) Cela peut affecter les applications qui appellent l’une des fonctions WNet pour créer une lettre de lecteur réseau sous une ouverture de session utilisateur, mais qui interrogent les lettres de lecteur réseau existantes sous une autre ouverture de session utilisateur. Un exemple de cette situation peut être lorsque la deuxième ouverture de session d’un utilisateur est créée dans une session d’ouverture de session, par exemple, en appelant la fonction CreateProcessAsUser , et que la deuxième ouverture de session exécute une application qui appelle la fonction GetLogicalDrives . L’appel à la fonction GetLogicalDrives ne retourne pas de lettres de lecteur réseau créées par les appels de fonction WNet sous la première ouverture de session. Notez que dans l’exemple précédent, la première session d’ouverture de session existe toujours et que l’exemple peut s’appliquer à n’importe quelle session d’ouverture de session, y compris une session Des services Terminal Server. Pour plus d’informations, consultez Définition d’un nom d’appareil MS-DOS.

Sur Windows Server 2003 et Windows XP, si un service qui s’exécute en tant que LocalSystem appelle la fonction WNetAddConnection , le lecteur mappé est visible pour toutes les sessions d’ouverture de session utilisateur.

Notes

L’en-tête winnetwk.h définit WNetAddConnection 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

   
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 winnetwk.h
Bibliothèque Mpr.lib
DLL Mpr.dll

Voir aussi

WNetAddConnection2

WNetAddConnection3

WNetCancelConnection

WNetCancelConnection2

WNetGetConnection

Vue d’ensemble de Windows Networking (WNet)

Fonctions de mise en réseau Windows