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. Em caso de ê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 SID_NAME_USE tipo enumerado que recebe o tipo da conta.
Retornar valor
SecLookupAccountSid retorna STATUS_SUCCESS com ê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 do 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 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 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 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 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 é equivalente à função Win32 LookupAccountSid .
SecLookupAccountSid é exportado pelo driver ksecdd, que implementa essa função usando serviços auxiliares do 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. SecLookupAccountSid não pode ser usado durante a E/S do arquivo de paginação.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | Ksecdd.lib |
IRQL | <= APC_LEVEL |