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 costante nullstringa con terminazione che specifica il nome di un dispositivo locale reindirizzato a una risorsa di rete o il nome remoto di una risorsa di rete a cui è stata stabilita 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 null-terminato nome utente.

[in, out] lpnLength

Puntatore a una variabile che specifica le dimensioni della lpUserName buffer, in caratteri. Se la chiamata ha esito negativo perché il buffer non è sufficientemente grande, 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
Sono disponibili altre voci con le 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 avere una connessione. Tuttavia, la rete non è disponibile per almeno un provider a cui può appartenere la connessione.

Osservazioni

La funzione WNetGetUser non è in grado di conoscere le 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.

Esempi

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winnetwk.h
libreria Mpr.lib
dll Mpr.dll

Vedere anche

Recupero del nome utente

WNetGetConnection

Panoramica rete Windows

Funzioni di rete di Windows