Compartilhar via


Função NetWkstaUserGetInfo (lmwksta.h)

A função NetWkstaUserGetInfo retorna informações sobre o usuário conectado no momento. Essa função deve ser chamada no contexto do usuário conectado.

Sintaxe

NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
        LMSTR  reserved,
  [in]  DWORD  level,
  [out] LPBYTE *bufptr
);

Parâmetros

reserved

Esse parâmetro deve ser definido como NULL.

[in] level

Especifica o nível de informações dos dados. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
0
Retornar o nome do usuário conectado atualmente à estação de trabalho. O parâmetro bufptr aponta para uma estrutura WKSTA_USER_INFO_0 .
1
Retornar informações sobre a estação de trabalho, incluindo o nome do usuário atual e os domínios acessados pela estação de trabalho. O parâmetro bufptr aponta para uma estrutura WKSTA_USER_INFO_1 .
1101
Retornar domínios navegados pela estação de trabalho. O parâmetro bufptr aponta para uma estrutura WKSTA_USER_INFO_1101 .

[out] bufptr

Ponteiro para o buffer que recebe os dados. O formato desses dados depende do valor do parâmetro bufptr . Esse buffer é alocado pelo sistema e deve ser liberado usando a função NetApiBufferFree . Para obter mais informações, consulte Buffers de função de gerenciamento de rede e Comprimentos de buffer de função de gerenciamento de rede.

Valor retornado

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado poderá ser um dos códigos de erro a seguir.

Código de retorno Descrição
ERROR_NOT_ENOUGH_MEMORY
O sistema ficou sem recursos de memória. A configuração do gerenciador de rede está incorreta ou o programa está em execução em um sistema com memória insuficiente.
ERROR_INVALID_LEVEL
O parâmetro de nível é inválido.
ERROR_INVALID_PARAMETER
Um dos parâmetros de função é inválido.

Comentários

A função NetWkstaUserGetInfo só funciona localmente.

Exemplos

O exemplo de código a seguir demonstra como recuperar informações sobre o usuário conectado no momento usando uma chamada para a função NetWkstaUserGetInfo . O exemplo chama NetWkstaUserGetInfo, especificando o nível de informações 1 ( WKSTA_USER_INFO_1). Se a chamada for bem-sucedida, o exemplo imprimirá informações sobre o usuário conectado. Por fim, o exemplo libera a memória alocada para o buffer de informações.

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

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmwksta.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

NetWkstaSetInfo

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

Funções de usuário de estação de trabalho e estação de trabalho