Partager via


WNetGetUserA, fonction (winnetwk.h)

La fonction WNetGetUser récupère le nom d’utilisateur par défaut actuel ou le nom d’utilisateur utilisé pour établir une connexion réseau.

Syntaxe

DWORD WNetGetUserA(
  [in]      LPCSTR  lpName,
  [out]     LPSTR   lpUserName,
  [in, out] LPDWORD lpnLength
);

Paramètres

[in] lpName

Pointeur vers une chaîne constante terminée par un caractère Null qui spécifie soit le nom d’un appareil local qui a été redirigé vers une ressource réseau, soit le nom distant d’une ressource réseau vers laquelle une connexion a été établie sans rediriger un appareil local.

Si ce paramètre a la valeur NULL ou la chaîne vide, le système retourne le nom de l’utilisateur actuel pour le processus.

[out] lpUserName

Pointeur vers une mémoire tampon qui reçoit le nom d’utilisateur terminé par null.

[in, out] lpnLength

Pointeur vers une variable qui spécifie la taille de la mémoire tampon lpUserName , en caractères. Si l’appel échoue parce que la mémoire tampon n’est pas suffisamment grande, cette variable contient la taille de mémoire tampon requise.

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_NOT_CONNECTED
L’appareil spécifié par le paramètre lpName n’est pas un appareil redirigé ou un nom réseau connecté.
ERROR_MORE_DATA
D’autres entrées sont disponibles avec les appels suivants.
ERROR_NO_NETWORK
Le réseau n'est pas disponible.
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_NO_NET_OR_BAD_PATH
Aucun des fournisseurs ne reconnaît le nom local comme ayant une connexion. Toutefois, le réseau n’est pas disponible pour au moins un fournisseur auquel la connexion peut appartenir.

Remarques

La fonction WNetGetUser ne connaît pas les partages sur le système de fichiers distribué (DFS). Si le nom spécifié par le paramètre lpName est un appareil local redirigé vers un partage DFS ou une ressource distante qui représente un partage DFS, la fonction WNetGetUser échoue avec ERROR_NOT_CONNECTED.

Exemples

L’exemple de code suivant montre comment utiliser la fonction WNetGetUser pour récupérer le nom de l’utilisateur associé à un appareil local redirigé ou à une ressource réseau distante.

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "mpr.lib")

#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <Winnetwk.h>

int wmain(int argc, wchar_t * argv[])
{
    DWORD dwRetVal;

    WCHAR UserName[MAX_PATH];

    DWORD dwNameLength = MAX_PATH;

    if (argc != 2) {
        wprintf
            (L"Usage: %s [Redirected-LocalDevice or Network-Resource-Remote-name\n",
             argv[0]);
        exit(1);
    }

    wprintf(L"Calling WNetGetUser with Network-Resource = %s\n", argv[1]);

    dwRetVal = WNetGetUser(argv[1], UserName, &dwNameLength);
    //
    // If the call succeeds, print the user information.
    //
    if (dwRetVal == NO_ERROR) {

        wprintf(L"WNetGetUser returned success\n");
        wprintf(L"\tUsername=%s   NameLength=%d\n", &UserName, dwNameLength);
        exit(0);
    }

    else {
        wprintf(L"WNetGetUser failed with error: %u\n", dwRetVal);
        exit(1);
    }
}


Notes

L’en-tête winnetwk.h définit WNetGetUser comme 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 winnetwk.h
Bibliothèque Mpr.lib
DLL Mpr.dll

Voir aussi

Récupération du nom d’utilisateur

WNetGetConnection

Vue d’ensemble de Windows Networking (WNet)

Fonctions de mise en réseau Windows