Condividi tramite


Funzione WNetGetUserA (winnetwk.h)

La funzione WNetGetUser recupera il nome utente predefinito corrente o il nome utente usato per stabilire una connessione di rete.

Sintassi

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

Parametri

[in] lpName

Puntatore a una stringa con terminazione null costante che specifica il nome di un dispositivo locale reindirizzato a una risorsa di rete o al nome remoto di una risorsa di rete a cui è stata eseguita una connessione senza reindirizzare un dispositivo locale.

Se questo parametro è NULL o la stringa vuota, il sistema restituisce il nome dell'utente corrente per il processo.

[out] lpUserName

Puntatore a un buffer che riceve il nome utente con terminazione null.

[in, out] lpnLength

Puntatore a una variabile che specifica le dimensioni del buffer lpUserName , in caratteri. Se la chiamata ha esito negativo perché il buffer non è sufficiente, questa variabile contiene le dimensioni del buffer necessarie.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è NO_ERROR.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema, ad esempio uno dei valori seguenti.

Codice restituito Descrizione
ERROR_NOT_CONNECTED
Il dispositivo specificato dal parametro lpName non è un dispositivo reindirizzato o un nome di rete connesso.
ERROR_MORE_DATA
Altre voci sono disponibili con chiamate successive.
ERROR_NO_NETWORK
La rete non è disponibile.
ERROR_EXTENDED_ERROR
Si è verificato un errore specifico della rete. Per ottenere una descrizione dell'errore, chiamare la funzione WNetGetLastError .
ERROR_NO_NET_OR_BAD_PATH
Nessuno dei provider riconosce il nome locale come connessione. Tuttavia, la rete non è disponibile per almeno un provider a cui la connessione può appartenere.

Commenti

La funzione WNetGetUser non è a conoscenza delle condivisioni nel file system distribuito (DFS). Se il nome specificato dal parametro lpName è un dispositivo locale reindirizzato a una condivisione DFS o a una risorsa remota che rappresenta una condivisione DFS, la funzione WNetGetUser ha esito negativo con ERROR_NOT_CONNECTED.

Esempio

L'esempio di codice seguente illustra come usare la funzione WNetGetUser per recuperare il nome dell'utente associato a un dispositivo locale reindirizzato o a una risorsa di rete remota.

#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);
    }
}


Nota

L'intestazione winnetwk.h definisce WNetGetUser come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winnetwk.h
Libreria Mpr.lib
DLL Mpr.dll

Vedi anche

Recupero del nome utente

WNetGetConnection

Panoramica di Rete Windows (WNet)

Funzioni di rete Windows