Compartilhar via


Função GetUserNameA (winbase.h)

Recupera o nome do usuário associado ao thread atual.

Use a função GetUserNameEx para recuperar o nome de usuário em um formato especificado. Informações adicionais são fornecidas pela interface IADsADSystemInfo .

Sintaxe

BOOL GetUserNameA(
  [out]     LPSTR   lpBuffer,
  [in, out] LPDWORD pcbBuffer
);

Parâmetros

[out] lpBuffer

Um ponteiro para o buffer para receber o nome de logon do usuário. Se esse buffer não for grande o suficiente para conter o nome de usuário inteiro, a função falhará. Um tamanho de buffer de (UNLEN + 1) conterá o nome de usuário de comprimento máximo, incluindo o caractere nulo de terminação. UNLEN é definido em Lmcons.h.

[in, out] pcbBuffer

Na entrada, essa variável especifica o tamanho do buffer lpBuffer , em TCHARs. Na saída, a variável recebe o número de TCHARs copiados para o buffer, incluindo o caractere nulo de terminação.

Se lpBuffer for muito pequeno, a função falhará e GetLastError retornará ERROR_INSUFFICIENT_BUFFER. Esse parâmetro recebe o tamanho do buffer necessário, incluindo o caractere nulo de terminação.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero e a variável apontada por lpnSize conterá o número de TCHARs copiados para o buffer especificado por lpBuffer, incluindo o caractere nulo de terminação.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se o thread atual estiver representando outro cliente, a função GetUserName retornará o nome de usuário do cliente que o thread está representando.

Se GetUserName for chamado de um processo em execução na conta "NETWORK SERVICE", a cadeia de caracteres retornada no lpBuffer poderá ser diferente dependendo da versão do Windows. No Windows XP, a cadeia de caracteres "SERVIÇO DE REDE" é retornada. No Windows Vista, a cadeia de caracteres "<HOSTNAME>$" é retornada.

Exemplos

Para obter um exemplo, consulte Obtendo informações do sistema.

Observação

O cabeçalho winbase.h define GetUserName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
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 winbase.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

GetUserNameEx

LookupAccountName

Funções de informações do sistema