Condividi tramite


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
0
Restituisce il nome dell'utente attualmente connesso alla workstation. Il parametro bufptr punta a una struttura WKSTA_USER_INFO_0 .
1
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 .
1101
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
ERROR_NOT_ENOUGH_MEMORY
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.
ERROR_INVALID_LEVEL
Il parametro di livello non è valido.
ERROR_INVALID_PARAMETER
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

Vedi anche

NetWkstaSetInfo

Funzioni di gestione di rete

Panoramica della gestione della rete

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

Funzioni utente workstation e workstation