Função LookupAccountSidA (winbase.h)
A função
Sintaxe
BOOL LookupAccountSidA(
[in, optional] LPCSTR lpSystemName,
[in] PSID Sid,
[out, optional] LPSTR Name,
[in, out] LPDWORD cchName,
[out, optional] LPSTR ReferencedDomainName,
[in, out] LPDWORD cchReferencedDomainName,
[out] PSID_NAME_USE peUse
);
Parâmetros
[in, optional] lpSystemName
Um ponteiro para um cadeia de caracteresterminada nulo que especifica o computador de destino. Essa cadeia de caracteres pode ser o nome de um computador remoto. Se esse parâmetro for NULL, a tradução do nome da conta começará no sistema local. Se o nome não puder ser resolvido no sistema local, essa função tentará resolver o nome usando controladores de domínio confiáveis pelo sistema local. Geralmente, especifique um valor para lpSystemName somente quando a conta estiver em um domínio não confiável e o nome de um computador nesse domínio for conhecido.
[in] Sid
Um ponteiro para o SID para pesquisar.
[out, optional] Name
Um ponteiro para um buffer que recebe um cadeia de caracteresterminada nula que contém o nome da conta que corresponde ao parâmetro lpSid.
[in, out] cchName
Na entrada, especifica o tamanho, em
[out, optional] ReferencedDomainName
Um ponteiro para um buffer que recebe um cadeia de caracteresterminada nula que contém o nome do domínio em que o nome da conta foi encontrado.
Em um servidor, o nome de domínio retornado para a maioria das contas no banco de dados de segurança do computador local é o nome do domínio para o qual o servidor é um controlador de domínio.
Em uma estação de trabalho, o nome de domínio retornado para a maioria das contas no banco de dados de segurança do computador local é o nome do computador a partir do último início do sistema (os backslashes são excluídos). Se o nome do computador for alterado, o nome antigo continuará a ser retornado como o nome de domínio até que o sistema seja reiniciado.
Algumas contas são predefinidas pelo sistema. O nome de domínio retornado para essas contas é BUILTIN.
[in, out] cchReferencedDomainName
Na entrada, especifica o tamanho, em TCHAR, do buffer lpReferencedDomainName. Se a função falhar porque o buffer é muito pequeno ou se cchReferencedDomainName for zero, cchReferencedDomainName receberá o tamanho do buffer necessário, incluindo o caractere de nulo.
[out] peUse
Um ponteiro para uma variável que recebe um valor SID_NAME_USE que indica o tipo da conta.
Valor de retorno
Se a função for bem-sucedida, a função retornará diferente de zero.
Se a função falhar, ela retornará zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
A função LookupAccountSid 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. 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 conseguir encontrar um nome de conta para o SID, GetLastError retornará ERROR_NONE_MAPPED. 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, LookupAccountSid 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, LookupAccountSid consulta o catálogo global da floresta.
Exemplos
Para obter um exemplo que usa essa função, consulte Pesquisando um SID em um token de acesso.
Nota
O cabeçalho winbase.h define LookupAccountSid como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | winbase.h (inclua Windows.h) |
biblioteca | Advapi32.lib |
de DLL |
Advapi32.dll |
Consulte também
Visão geral do controle de acesso
funções básicas de controle de acesso
LookupAccountName