LookupAccountName

The LookupAccountName function accepts the name of a system and an account as input. It retrieves a security identifier (SID) for the account and the name of the domain on which the account was found.

BOOL LookupAccountName(
  LPCTSTR lpSystemName,  // address of string for system name
  LPCTSTR lpAccountName, // address of string for account name
  PSID Sid,              // address of security identifier
  LPDWORD cbSid,         // address of size of security identifier
  LPTSTR ReferencedDomainName,
                         // address of string for referenced domain
  LPDWORD cbReferencedDomainName,
                         // address of size of domain string
  PSID_NAME_USE peUse    // address of SID-type indicator
);
 

Parameters

lpSystemName
Pointer to a null-terminated string specifying the system. This string can be the name of a remote computer. If this string is NULL, the account name is looked up on the local system.
lpAccountName
Pointer to a null-terminated string specifying the account name.
Sid
Pointer to a buffer receiving the SID structure that corresponds to the account name pointed to by the lpAccountName parameter.
cbSid
Pointer to a DWORD variable. On input, this value specifies the size, in bytes, of the Sid buffer. If the function fails because the buffer is too small, this variable receives the required buffer size.
ReferencedDomainName
Pointer to a buffer receiving the name of the domain where the account name is found.
cbReferencedDomainName
Pointer to a DWORD variable. On input, this value specifies the size, in bytes (ANSI version) or characters (Unicode version), of the ReferencedDomainName buffer. If the function fails because the buffer is too small, this variable receives the required buffer size, including the terminating null character.
peUse
Pointer to a SID_NAME_USE enumerated type indicating the type of the account when the function returns.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The LookupAccountName function attempts to find a security identifier for the specified name by first checking a list of well-known SIDs. If the name does not correspond to a well-known SID, the function checks built-in and administratively defined local accounts. Next, the function checks the primary domain. If the name is not found there, trusted domains are checked.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use advapi32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Access Control Overview, Access Control Functions, EqualPrefixSid, GetUserName, LookupAccountSid