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
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
LookupAccountName