Função SecLookupAccountSid (ntifs.h)

SecLookupAccountSid aceita um SID (identificador de segurança) como entrada. Ele recupera o nome da conta para esse SID e o nome do primeiro domínio no qual esse SID é encontrado.

Sintaxe

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
  [in]            PSID            Sid,
  [out]           PULONG          NameSize,
  [in, out]       PUNICODE_STRING NameBuffer,
  [out]           PULONG          DomainSize,
  [out, optional] PUNICODE_STRING DomainBuffer,
  [out]           PSID_NAME_USE   NameUse
);

Parâmetros

[in] Sid

Um ponteiro para o SID pesquisar.

[out] NameSize

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

[in, out] NameBuffer

Um ponteiro para um buffer que recebe o nome da conta associada ao Sid. Se esse parâmetro for NULL, NameSize será zero.

[out] DomainSize

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

[out, optional] DomainBuffer

Um ponteiro para um buffer que recebe o nome do primeiro domínio no qual esse SID é encontrado.

[out] NameUse

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

Valor retornado

SecLookupAccountSid 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 Erro interno ao tentar se conectar à LSA (Autoridade do Sistema Local) ou à LPC (chamada de procedimento local) ao provedor de segurança.
STATUS_ACCESS_DENIED A ID do processo associado ao thread em execução no momento não corresponde à ID do processo atual.
STATUS_BUFFER_TOO_SMALL O tamanho do buffer para o NameBuffer 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 LSA (Autoridade de Sistema Local).
STATUS_NO_MEMORY Não foi possível alocar memória suficiente para um buffer interno temporário usado por essa função.
STATUS_NONE_MAPPED Não foi possível encontrar o parâmetro Sid .
STATUS_PROCESS_IS_TERMINATING Esse processo foi encerrado para que não seja possível estabelecer uma conexão LPC (chamada de procedimento local).

Comentários

SecLookupAccountSid tenta encontrar um nome para o SID especificado primeiro verificando uma lista de SIDs conhecidos. Se o SID fornecido não corresponder a um SID bem conhecido, a função verificará contas locais internas e definidas administrativamente. Em seguida, a função verifica o domínio primário. Os identificadores de segurança não reconhecidos pelo domínio primário são verificados em relação aos domínios confiáveis que correspondem aos seus prefixos sid.

Se a função não puder encontrar um nome de conta para o SID, SecLookupAccountSid falhará. Isso poderá ocorrer se um tempo limite de rede impedir que a função localize o nome. Também ocorre para SIDs que não têm nenhum nome de conta correspondente, como um SID de logon que identifica uma sessão de logon.

Além de pesquisar SIDs para contas locais, contas de domínio locais e contas de domínio explicitamente confiáveis, SecLookupAccountSid pode procurar SIDs para qualquer conta em qualquer domínio na floresta, incluindo SIDs que aparecem apenas no campo SIDhistory de uma conta na floresta. O campo SIDhistory armazena SIDs antigos de uma conta que foi movida de outro domínio. Para pesquisar um SID, SecLookupAccountSid consulta o catálogo global da floresta.

SecLookupAccountSid é equivalente à função Win32 LookupAccountSid .

SecLookupAccountSid é exportado pelo driver ksecdd, que implementa essa função usando serviços auxiliares no modo de usuário. Assim, o uso dessa função nos sistemas de arquivos deve obedecer às regras usuais para comunicação com serviços de modo de usuário. SecLookupAccountSid 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

SecLookupAccountName

SecLookupWellKnownSid