Compartilhar via


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 nulaterminada 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á resolver o nome usando controladores de domínio confiáveis pelo sistema local. Geralmente, 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 um cadeia de caracteresterminada nula 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 de 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 TCHAR, do buffer ReferencedDomainName. Se a função falhar porque o buffer é muito pequeno, essa variável receberá o tamanho do buffer necessário, incluindo a terminação caractere de nulo. Se o parâmetro ReferencedDomainName for NULL, esse parâmetro deverá ser zero.

[out] peUse

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

Valor de retorno

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.

Observações

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á, 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ívocas 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 de entidade de usuário (UPN) (por exemplo, someone@example.com).

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

Nota

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

Consulte também

Visão geral do controle de acesso

funções básicas de controle de acesso

EqualPrefixSid

GetUserName

LookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE