Функция GetUserNameA (winbase.h)
Извлекает имя пользователя, связанного с текущим потоком.
Используйте функцию GetUserNameEx, чтобы получить имя пользователя в указанном формате. Дополнительные сведения предоставляются интерфейсом IADsADSystemInfo.
Синтаксис
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
Параметры
[out] lpBuffer
Указатель на буфер для получения имени входа пользователя. Если этот буфер недостаточно велик, чтобы содержать все имя пользователя, функция завершается ошибкой. Размер буфера символов (UNLEN + 1) будет содержать максимальное имя пользователя длины, включая завершающий пустой символ. UNLEN определен в Lmcons.h.
[in, out] pcbBuffer
При входных данных эта переменная задает размер буфера lpBuffer в TCHARs. В выходных данных переменная получает количество TCHARs скопировано в буфер, включая завершающий символ NULL.
Если lpBuffer слишком мал, функция завершается ошибкой и GetLastError возвращает ERROR_INSUFFICIENT_BUFFER. Этот параметр получает требуемый размер буфера, включая завершающийся символ NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является ненулевое значение, а переменная, на которую указывает l lpnSize , содержит число TCHARs скопировано в буфер, указанный lpBuffer, включая завершающийся символ NULL.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Если текущий поток олицетворяет другой клиент, функция GetUserName возвращает имя пользователя клиента, олицетворение потока.
Если GetUserName вызывается из процесса, выполняющегося в учетной записи NETWORK SERVICE, строка, возвращенная в lpBuffer может отличаться в зависимости от версии Windows. В Windows XP возвращается строка NETWORK SERVICE. В Windows Vista возвращается строка "<HOSTNAME>$".
Примеры
Пример см. в получения сведений о системе.
Заметка
Заголовок winbase.h определяет GetUserName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |