Compartilhar via


Função GetUserNameExA (secext.h)

Recupera o nome do usuário ou outra entidade de segurança associada ao thread de chamada. Você pode especificar o formato do nome retornado.

Se o thread estiver representando um cliente, GetUserNameEx retornará o nome do cliente.

Sintaxe

BOOLEAN SEC_ENTRY GetUserNameExA(
  [in]      EXTENDED_NAME_FORMAT NameFormat,
  [out]     LPSTR                lpNameBuffer,
  [in, out] PULONG               nSize
);

Parâmetros

[in] NameFormat

O formato do nome. Esse parâmetro é um valor do tipo de enumeração EXTENDED_NAME_FORMAT. Não pode ser NameUnknown. Se a conta de usuário não estiver em um domínio, somente NameSamCompatible terá suporte.

[out] lpNameBuffer

Um ponteiro para um buffer que recebe o nome no formato especificado. O buffer deve incluir espaço para o caractere nulo de terminação.

[in, out] nSize

Na entrada, essa variável especifica o tamanho do buffer lpNameBuffer , em TCHARs. Se a função for bem-sucedida, a variável receberá o número de TCHARs copiados para o buffer, sem incluir o caractere nulo de terminação.

Se lpNameBuffer for muito pequeno, a função falhará e GetLastError retornará ERROR_MORE_DATA. Esse parâmetro recebe o tamanho do buffer necessário, em caracteres Unicode (se o Unicode está sendo usado ou não), incluindo o caractere nulo de terminação.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. Os possíveis valores incluem os seguintes.

Código de retorno Descrição
ERROR_MORE_DATA
O buffer lpNameBuffer é muito pequeno. O parâmetro lpnSize contém o número de bytes necessários para receber o nome.
ERROR_NO_SUCH_DOMAIN
O controlador de domínio não está disponível para executar a pesquisa
ERROR_NONE_MAPPED
O nome de usuário não está disponível no formato especificado.

Comentários

Observação

O cabeçalho secext.h define GetUserNameEx 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

   
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 secext.h (inclua Security.h)
Biblioteca Secur32.lib
DLL Secur32.dll

Confira também

EXTENDED_NAME_FORMAT

LookupAccountName

Funções de informações do sistema