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 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. Em caso de ê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 SID_NAME_USE tipo 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 o parâmetro ReferencedDomain de entrada 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 ingressaram em um domínio, esse buffer recebe o nome do computador.

Valor retornado

SecLookupAccountName retorna STATUS_SUCCESS em caso de êxito ou um dos seguintes códigos de erro em caso de 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 para o sid ou o parâmetro ReferencedDomain era muito pequeno.
STATUS_INVALID_PARAMETER O comprimento do parâmetro Name 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 Name .
STATUS_PROCESS_IS_TERMINATING Esse processo foi encerrado para que não seja possível estabelecer a conexão LPC (chamada de procedimento local).

Comentários

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á, 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í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 upn (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, SecLookupAccountName pode pesquisar o nome de qualquer conta em qualquer domínio na floresta.

SecLookupAccountName é equivalente à função Win32 LookupAccountName .

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 para 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

   
Cliente mínimo com suporte Windows XP
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca Ksecdd.lib
IRQL <= APC_LEVEL

Confira também

Sid

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid