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 |