Função LookupAccountNameA (winbase.h)

A função LookupAccountName aceita o nome de um sistema e uma conta como entrada. Ele recupera um SID ( identificador de segurança ) para a conta e o nome do domínio no qual a conta foi encontrada.

A função LsaLookupNames também pode recuperar contas de computador.

Sintaxe

BOOL LookupAccountNameA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            LPCSTR        lpAccountName,
  [out, optional] PSID          Sid,
  [in, out]       LPDWORD       cbSid,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

Parâmetros

[in, optional] lpSystemName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do sistema. Essa cadeia de caracteres pode ser o nome de um computador remoto. Se essa cadeia de caracteres for NULL, a tradução do nome da conta começará no sistema local. Se o nome não puder ser resolvido no sistema local, essa função tentará resolve o nome usando controladores de domínio confiáveis pelo sistema local. Em geral, especifique um valor para lpSystemName somente quando a conta estiver em um domínio não confiável e o nome de um computador nesse domínio for conhecido.

[in] lpAccountName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da conta.

Use uma cadeia de caracteres totalmente qualificada no formato domain_name\user_name para garantir que LookupAccountName encontre a conta no domínio desejado.

[out, optional] Sid

Um ponteiro para um buffer que recebe a estrutura sid que corresponde ao nome da conta apontado pelo parâmetro lpAccountName . Se esse parâmetro for NULL, cbSid deverá ser zero.

[in, out] cbSid

Um ponteiro para uma variável. Na entrada, esse valor especifica o tamanho, em bytes , do buffer sid. Se a função falhar porque o buffer é muito pequeno ou se cbSid for zero, essa variável receberá o tamanho do buffer necessário.

[out, optional] ReferencedDomainName

Um ponteiro para um buffer que recebe o nome do domínio em que o nome da conta é encontrado. Para computadores que não estão ingressados em um domínio, esse buffer recebe o nome do computador. Se esse parâmetro for NULL, a função retornará o tamanho do buffer necessário.

[in, out] cchReferencedDomainName

Um ponteiro para uma variável. Na entrada, esse valor especifica o tamanho, em TCHARs, do buffer ReferencedDomainName . Se a função falhar porque o buffer é muito pequeno, essa variável receberá o tamanho do buffer necessário, incluindo o caractere nulo de terminação. Se o parâmetro ReferencedDomainName for NULL, esse parâmetro deverá ser zero.

[out] peUse

Um ponteiro para um SID_NAME_USE tipo enumerado que indica o tipo da conta quando a função retorna.

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero.

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

Comentários

A função LookupAccountName tenta localizar um SID para o nome especificado verificando primeiro uma lista de SIDs conhecidos. Se o nome não corresponder a um SID conhecido, a função verificará contas locais internas e definidas administrativamente. Em seguida, a função verifica o domínio primário. Se o nome não for encontrado lá, os domínios confiáveis serão verificados.

Use nomes de conta totalmente qualificados (por exemplo, domain_name\user_name) em vez de nomes isolados (por exemplo, user_name). Nomes totalmente qualificados são inequívoco e fornecem melhor desempenho quando a pesquisa é executada. Essa função também dá suporte a nomes DNS totalmente qualificados (por exemplo, example.example.com\user_name ) e nomes upn (por exemplo, someone@example.com).

Além de pesquisar contas locais, contas de domínio local e contas de domínio explicitamente confiáveis, LookupAccountName pode pesquisar o nome de qualquer conta em qualquer domínio na floresta.

Observação

O cabeçalho winbase.h define LookupAccountName 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 XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Visão geral do Controle de Acesso

Funções de Controle de Acesso básicas

EqualPrefixSid

Getusername

Lookupaccountsid

LsaLookupNames2

SID

SID_NAME_USE