Partilhar via


Função SecLookupAccountName (ntifs.h)

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

Sintaxe

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
  [in]               PUNICODE_STRING Name,
  [in, out]          PULONG          SidSize,
  [out]              PSID            Sid,
  [out]              PSID_NAME_USE   NameUse,
  [out]              PULONG          DomainSize,
  [in_out, optional] PUNICODE_STRING ReferencedDomain
);

Parâmetros

[in] Name

Um ponteiro para uma cadeia de caracteres Unicode que especifica o nome da conta. Use uma cadeia de caracteres totalmente qualificada no formato domain_name\user_name para garantir que SecLookupAccountName encontre a conta no domínio desejado.

[in, out] SidSize

Um ponteiro para uma variável que especifica o tamanho do buffer Sid. Na entrada, esse valor especifica o tamanho em bytes do buffer de sid de entrada. Se a função falhar porque o buffer é muito pequeno ou se SidSize for zero, essa variável receberá o tamanho do buffer necessário. Com êxito, essa variável contém o tamanho do sid retornado.

[out] Sid

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

[out] NameUse

Um ponteiro para um tipo SID_NAME_USE enumerado que recebe o tipo da conta.

[out] DomainSize

Um ponteiro para um ULONG que recebe o tamanho do parâmetro ReferencedDomain. Se a função falhar porque o buffer é muito pequeno, essa variável receberá o tamanho do buffer necessário. Se a entrada parâmetro ReferencedDomain for NULL, esse parâmetro receberá zero.

[in_out, optional] ReferencedDomain

Ponteiro para um buffer para o nome do domínio em que o nome da conta é encontrado. Esse parâmetro é opcional e pode ser NULL. Para computadores que não estão ingressados em um domínio, esse buffer recebe o nome do computador.

Valor de retorno

SecLookupAccountName retorna STATUS_SUCCESS com êxito ou um dos seguintes códigos de erro sobre falha.

Código de retorno Descrição
SEC_E_INTERNAL_ERROR Ocorreu um erro interno ao tentar se conectar à LSA (Autoridade de Sistema Local) ou à LPC (chamada de procedimento local) ao provedor de segurança.
STATUS_ACCESS_DENIED A ID do processo associada ao thread em execução no momento não corresponde à ID do processo atual.
STATUS_BUFFER_TOO_SMALL O tamanho do buffer do Sid ou do parâmetro ReferencedDomain do era muito pequeno.
STATUS_INVALID_PARAMETER O comprimento do parâmetro nome do excedeu o comprimento permitido em uma mensagem para a Autoridade do Sistema Local.
STATUS_NONE_MAPPED Não foi possível encontrar o parâmetro nome do .
STATUS_PROCESS_IS_TERMINATING Esse processo foi encerrado para que não seja possível estabelecer a conexão LPC (chamada de procedimento local).

Observações

SecLookupAccountName tenta localizar um SID para o nome especificado. A função verifica 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 local e contas de domínio explicitamente confiáveis, SecLookupAccountName pode procurar o nome de qualquer conta em qualquer domínio na floresta.

SecLookupAccountName é equivalente à função LookupAccountName do Win32.

SecLookupAccountName é exportado pelo driver ksecdd, que implementa essa função usando serviços auxiliares no modo de usuário. Assim, o uso dessa função em sistemas de arquivos deve obedecer às regras usuais de comunicação com serviços de modo de usuário. SecLookupAccountName não pode ser usado durante a E/S do arquivo de paginação.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca Ksecdd.lib
IRQL <= APC_LEVEL

Consulte também

de SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid