Retrieves the name of the user associated with the current thread.
Use the
GetUserNameEx function to retrieve the user name in a specified format. Additional information is provided by the
IADsADSystemInfo interface.
Syntax
|
BOOL WINAPI GetUserName(
__out LPTSTR lpBuffer,
__inout LPDWORD lpnSize
);
|
Parameters
- lpBuffer [out]
-
A pointer to the buffer to receive the user's logon name. If this buffer is not large enough to contain the entire user name, the function fails. A buffer size of (UNLEN + 1) characters will hold the maximum length user name including the terminating null character. UNLEN is defined in Lmcons.h.
- lpnSize [in, out]
-
On input, this variable specifies the size of the lpBuffer buffer, in TCHARs. On output, the variable receives the number of TCHARs copied to the buffer, including the terminating null character.
If lpBuffer is too small, the function fails and GetLastError returns ERROR_INSUFFICIENT_BUFFER. This parameter receives the required buffer size, including the terminating null character.
If this parameter is greater than 32767, the function fails and GetLastError returns ERROR_INSUFFICIENT_BUFFER.
Return Value
If the function succeeds, the return value is a nonzero value, and the variable pointed to by lpnSize contains the number of TCHARs copied to the buffer specified by lpBuffer, including the terminating null character.
If the function fails, the return value is zero. To get extended error information, call
GetLastError.
Remarks
If the current thread is impersonating another client, the
GetUserName function returns the user name of the client that the thread is impersonating.
Examples
For an example, see
Getting System Information.
Requirements
| Client | Requires Windows Vista, Windows XP, or Windows 2000 Professional. |
| Server | Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server. |
|---|
| Header | Declared in Winbase.h; include Windows.h. |
| Library | Use Advapi32.lib. |
| DLL | Requires Advapi32.dll. |
| Unicode/ANSI | Implemented as GetUserNameW (Unicode) and GetUserNameA (ANSI). |
See Also
GetUserNameEx
LookupAccountName
System Information Functions
Send comments about this topic to Microsoft
Build date: 10/2/2008