Поделиться через


Функция GetUserNameA (winbase.h)

Извлекает имя пользователя, связанного с текущим потоком.

Используйте функцию GetUserNameEx , чтобы получить имя пользователя в указанном формате. Дополнительные сведения предоставляются интерфейсом IADsADSystemInfo .

Синтаксис

BOOL GetUserNameA(
  [out]     LPSTR   lpBuffer,
  [in, out] LPDWORD pcbBuffer
);

Параметры

[out] lpBuffer

Указатель на буфер для получения имени пользователя для входа. Если этот буфер недостаточно велик для хранения всего имени пользователя, функция завершается ошибкой. Размер буфера (UNLEN + 1) будет содержать имя пользователя максимальной длины, включая завершающий символ NULL. UNLEN определяется в Lmcons.h.

[in, out] pcbBuffer

На входных данных эта переменная указывает размер буфера lpBuffer в TCHARs. В выходных данных переменная получает количество TCHAR , скопированных в буфер, включая завершающий символ NULL.

Если lpBuffer слишком мал, функция завершается сбоем и GetLastError возвращает ERROR_INSUFFICIENT_BUFFER. Этот параметр получает требуемый размер буфера, включая завершающий символ NULL.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение является ненулевым, а переменная, на которую указывает lpnSize , содержит количество TCHAR , скопированных в буфер, заданный lpBuffer, включая завершающий символ NULL.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Если текущий поток олицетворяет другого клиента, функция GetUserName возвращает имя пользователя клиента, олицетворяемого потоком.

Если GetUserName вызывается из процесса, выполняющегося под учетной записью NETWORK SERVICE, строка, возвращаемая в lpBuffer , может отличаться в зависимости от версии Windows. В Windows XP возвращается строка NETWORK SERVICE. В Windows Vista возвращается строка HOSTNAME<>$.

Примеры

Пример см. в разделе Получение сведений о системе.

Примечание

Заголовок winbase.h определяет GetUserName в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

GetUserNameEx

LookupAccountName

Системные информационные функции