Функция GetUserNameExA (secext.h)
Извлекает имя пользователя или другого субъекта безопасности, связанного с вызывающим потоком. Можно указать формат возвращаемого имени.
Если поток олицетворяет клиент, GetUserNameEx возвращает имя клиента.
Синтаксис
BOOLEAN SEC_ENTRY GetUserNameExA(
[in] EXTENDED_NAME_FORMAT NameFormat,
[out] LPSTR lpNameBuffer,
[in, out] PULONG nSize
);
Параметры
[in] NameFormat
Формат имени. Этот параметр является значением из типа перечисления EXTENDED_NAME_FORMAT. Невозможно NameUnknown. Если учетная запись пользователя не находится в домене, поддерживается только NameSamCompatible.
[out] lpNameBuffer
Указатель на буфер, получающий имя в указанном формате. Буфер должен содержать пробел для завершающего символа NULL.
[in, out] nSize
При входных данных эта переменная задает размер буфера lpNameBuffer в TCHARs. Если функция выполнена успешно, переменная получает количество TCHARs скопированных в буфер, не включая завершающийся символ NULL.
Если lpNameBuffer слишком мал, функция завершается ошибкой и GetLastError возвращает ERROR_MORE_DATA. Этот параметр получает требуемый размер буфера в символах Юникода (независимо от того, используется ли Юникод), включая завершающий символ NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является ненулевое значение.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Возможные значения включают следующие значения.
Возвращаемый код | Описание |
---|---|
|
Буфер lpNameBuffer слишком мал. Параметр lpnSize содержит количество байтов, необходимых для получения имени. |
|
Контроллер домена недоступен для выполнения подстановки |
|
Имя пользователя недоступно в указанном формате. |
Замечания
Заметка
Заголовок secext.h определяет GetUserNameEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | secext.h (include Security.h) |
библиотеки |
Secur32.lib |
DLL | Secur32.dll |