Funzione WNetGetUserA (winnetwk.h)
La funzione WNetGetUser
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 |
---|---|
|
Il dispositivo specificato dal parametro lpName |
|
Sono disponibili altre voci con le chiamate successive. |
|
La rete non è disponibile. |
|
Si è verificato un errore specifico della rete. Per ottenere una descrizione dell'errore, chiamare la funzione WNetGetLastError |
|
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
Esempi
L'esempio di codice seguente illustra come usare la funzione WNetGetUser
#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
Panoramica rete Windows