Windows Win32Segurança & tokensadvapi32.dll
LookupAccountNameW
Resolve o nome de uma conta de usuário/grupo para seu SID (Security Identifier).
Descrição
Análogo funcional a resolver um nome de usuário para UID via `getpwnam(3)` no Linux, mas retornando um SID em vez de um inteiro simples.
Header:
winbase.hDLL: advapi32.dllAssinatura
BOOL LookupAccountNameW(
LPCWSTR lpSystemName,
LPCWSTR lpAccountName,
PSID Sid,
LPDWORD cbSid,
LPWSTR ReferencedDomainName,
LPDWORD cchReferencedDomainName,
PSID_NAME_USE peUse
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpSystemName | LPCWSTR | Sistema onde resolver o nome, ou NULL para o local. |
| lpAccountName | LPCWSTR | Nome da conta a resolver. |
| Sid | PSID | Recebe o SID correspondente. |
| cbSid | LPDWORD | Tamanho do buffer `Sid`; atualizado com o tamanho real. |
| ReferencedDomainName | LPWSTR | Recebe o nome do domínio da conta. |
| cchReferencedDomainName | LPDWORD | Tamanho do buffer de domínio. |
| peUse | PSID_NAME_USE | Recebe o tipo da conta (usuário, grupo, etc.). |
Valor de retorno
Diferente de zero em sucesso; 0 em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_NONE_MAPPED(1332)
- Nenhum nome ou identificador foi mapeado com sucesso.
- ERROR_INSUFFICIENT_BUFFER(122)
- O buffer de dados é pequeno demais.