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 de 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 encerramento. 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 encerramento.

Se lpBuffer for muito pequena, 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 encerramento.

Valor de retorno

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.

Observações

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 "SERVIÇO DE REDE", a cadeia de caracteres retornada em 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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

GetUserNameEx

LookupAccountName

Funções de informações do sistema