Função LsaLookupSids (ntsecapi.h)
[LsaLookupSids está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use LsaLookupSids2.]
A função LsaLookupSids pesquisa os nomes que correspondem a uma matriz de SIDs ( identificadores de segurança ). Se LsaLookupSids não encontrar um nome que corresponda a um SID, a função retornará o SID no formato de caractere.
Sintaxe
NTSTATUS LsaLookupSids(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Count,
[in] PSID *Sids,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_NAME *Names
);
Parâmetros
[in] PolicyHandle
Um identificador para um objeto Policy . Esse identificador deve ter o acesso de POLICY_LOOKUP_NAMES correto. Para obter mais informações, consulte Abrindo um identificador de objeto de política.
[in] Count
Especifica o número de SIDs na matriz Sids . Esse também é o número de entradas retornadas na matriz Nomes . Esse valor deve ser menor ou igual a 20480.
[in] Sids
Ponteiro para uma matriz de ponteiros SID para pesquisar. Os SIDs podem ser SIDs conhecidos, SIDs de usuário, grupo ou conta de grupo local ou SIDs de domínio.
[out] ReferencedDomains
Recebe um ponteiro para um ponteiro para uma estrutura de LSA_REFERENCED_DOMAIN_LIST . O membro Domains dessa estrutura é uma matriz que contém uma entrada para cada domínio no qual um SID foi encontrado. A entrada para cada domínio contém o SID e o nome simples do domínio. Para domínios do Windows, o nome simples é o nome NetBIOS. Para links com domínios não Windows, o nome simples é o nome de identificação desse domínio ou é NULL.
Quando você não precisar mais das informações, passe o ponteiro retornado para LsaFreeMemory. Essa memória deve ser liberada mesmo quando a função falha com um dos códigos de erro STATUS_NONE_MAPPED ou STATUS_SOME_NOT_MAPPED
[out] Names
Recebe um ponteiro para uma matriz de estruturas de LSA_TRANSLATED_NAME . Cada entrada na matriz Nomes contém as informações de nome da entrada correspondente na matriz Sids . Para SIDs de conta, o membro Name de cada estrutura contém o nome isolado da conta. Para SIDs de domínio, o membro Name não é válido.
O membro DomainIndex de cada entrada na matriz Names é o índice de uma entrada na matriz Domains retornada no parâmetro ReferencedDomains . O índice identifica a matriz Domains para o domínio no qual o SID foi encontrado.
Quando você não precisar mais das informações, passe o ponteiro retornado para LsaFreeMemory. Essa memória deve ser liberada mesmo quando a função falha com um dos códigos de erro STATUS_NONE_MAPPED ou STATUS_SOME_NOT_MAPPED
Retornar valor
Se a função for bem-sucedida, o valor retornado será um dos seguintes valores NTSTATUS .
Código de retorno | Descrição |
---|---|
|
Não foi possível traduzir alguns dos SIDs. Esse é um valor retornado de nível informativo. |
|
Todos os SIDs foram encontrados e traduzidos com êxito. |
Se a função falhar, o valor retornado será um código NTSTATUS , que pode ser um dos valores a seguir ou um dos valores retornados da função de política LSA.
Código de retorno | Descrição |
---|---|
|
Nenhum dos SIDs foi convertido. Esse é um valor retornado no nível de erro. |
|
O parâmetro de matriz Sids era muito grande. |
Você pode usar a função LsaNtStatusToWinError para converter o código NTSTATUS em um código de erro do Windows.
Comentários
Para SIDs de conta, a cadeia de caracteres retornada no membro Name é o nome isolado da conta (por exemplo, user_name). Se você precisar do nome composto da conta (por exemplo, Acctg\user_name), obtenha o nome de domínio do buffer ReferencedDomains e acrescente uma barra invertida e o nome isolado.
Se a função LsaLookupSids não puder traduzir um SID, a função usará o seguinte algoritmo:
- Se o domínio do SID for conhecido, o buffer ReferencedDomains conterá uma entrada para o domínio e a cadeia de caracteres retornada no parâmetro Names será uma representação Unicode do RID (identificador relativo) da conta do SID.
- Se o domínio do SID não for conhecido, a cadeia de caracteres retornada no parâmetro Names será uma representação Unicode de todo o SID e não haverá nenhum registro de domínio para esse SID no buffer ReferencedDomains .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ntsecapi.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |