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.
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 |
---|---|
|
L’appelant n’a pas accès à la ressource réseau. |
|
L’appareil spécifié dans le paramètre lpLocalName est déjà connecté. |
|
Le type d’appareil et le type de ressource ne correspondent pas. |
|
La valeur spécifiée dans le paramètre lpLocalName n’est pas valide. |
|
La valeur spécifiée dans le paramètre lpRemoteName n’est pas valide ou ne peut pas être trouvée. |
|
Le profil utilisateur est dans un format incorrect. |
|
Le système ne peut pas ouvrir le profil utilisateur pour traiter les connexions persistantes. |
|
Une entrée pour l’appareil spécifié dans le paramètre lpLocalName se trouve déjà dans le profil utilisateur. |
|
Une erreur spécifique au réseau s’est produite. Pour obtenir une description de l’erreur, appelez la fonction WNetGetLastError . |
|
Le mot de passe spécifié n’est pas valide. |
|
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é. |
|
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 |