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 para pesquisar.
[out] NameSize
Um ponteiro para uma variável que especifica o tamanho do NameBuffer. Na entrada, esse valor especifica o tamanho em bytes da entrada namebuffer. 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 de retorno
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 | 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 namebuffer |
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 | O parâmetro Sid não pôde ser encontrado. |
STATUS_PROCESS_IS_TERMINATING | Esse processo foi encerrado para que não seja possível estabelecer uma conexão LPC (chamada de procedimento local). |
Observações
SecLookupAccountSid tenta encontrar um nome para o SID especificado verificando primeiro uma lista de SIDs conhecidos. Se o SID fornecido 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. 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 prefixos sid.
Se a função não puder encontrar um nome de conta para o SID, SecLookupAccountSid falhará. Isso pode 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 procurar SIDs para contas locais, contas de domínio local 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 é 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. SecLookupAccountSid 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