Funzione NetWkstaUserGetInfo (lmwksta.h)
La funzione NetWkstaUserGetInfo restituisce informazioni sull'utente attualmente connesso. Questa funzione deve essere chiamata nel contesto dell'utente connesso.
Sintassi
NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
LMSTR reserved,
[in] DWORD level,
[out] LPBYTE *bufptr
);
Parametri
reserved
Questo parametro deve essere impostato su NULL.
[in] level
Specifica il livello di informazioni dei dati. Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Restituisce il nome dell'utente attualmente connesso alla workstation. Il parametro bufptr punta a una struttura WKSTA_USER_INFO_0 . |
|
Restituisce informazioni sulla workstation, inclusi il nome dell'utente corrente e i domini a cui si accede dalla workstation. Il parametro bufptr punta a una struttura WKSTA_USER_INFO_1 . |
|
Restituire i domini esplorati dalla workstation. Il parametro bufptr punta a una struttura WKSTA_USER_INFO_1101 . |
[out] bufptr
Puntatore al buffer che riceve i dati. Il formato di questi dati dipende dal valore del parametro bufptr . Questo buffer viene allocato dal sistema e deve essere liberato usando la funzione NetApiBufferFree . Per altre informazioni, vedere Buffer delle funzioni di gestione di rete e lunghezze del buffer delle funzioni di gestione di rete.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene NERR_Success.
Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Il sistema ha esaurito le risorse di memoria. La configurazione di Gestione rete non è corretta oppure il programma è in esecuzione in un sistema con memoria insufficiente. |
|
Il parametro di livello non è valido. |
|
Uno dei parametri della funzione non è valido. |
Commenti
La funzione NetWkstaUserGetInfo funziona solo in locale.
Esempio
L'esempio di codice seguente illustra come recuperare informazioni sull'utente attualmente connesso usando una chiamata alla funzione NetWkstaUserGetInfo . L'esempio chiama NetWkstaUserGetInfo, specificando il livello di informazioni 1 ( WKSTA_USER_INFO_1). Se la chiamata ha esito positivo, l'esempio stampa informazioni sull'utente connesso. Infine, l'esempio libera la memoria allocata per il buffer delle informazioni.
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")
#include <stdio.h>
#include <windows.h>
#include <lm.h>
int wmain(void)
{
DWORD dwLevel = 1;
LPWKSTA_USER_INFO_1 pBuf = NULL;
NET_API_STATUS nStatus;
//
// Call the NetWkstaUserGetInfo function;
// specify level 1.
//
nStatus = NetWkstaUserGetInfo(NULL,
dwLevel,
(LPBYTE *)&pBuf);
//
// If the call succeeds, print the information
// about the logged-on user.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
wprintf(L"\n\tUser: %s\n", pBuf->wkui1_username);
wprintf(L"\tDomain: %s\n", pBuf->wkui1_logon_domain);
wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
wprintf(L"\tLogon Server: %s\n", pBuf->wkui1_logon_server);
}
}
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
return 0;
}
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | lmwksta.h (include Lm.h) |
Libreria | Netapi32.lib |
DLL | Netapi32.dll |