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


Функция 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. Возможные значения включают следующие значения.

Возвращаемый код Описание
ERROR_MORE_DATA
Буфер lpNameBuffer слишком мал. Параметр lpnSize содержит количество байтов, необходимых для получения имени.
ERROR_NO_SUCH_DOMAIN
Контроллер домена недоступен для выполнения подстановки
ERROR_NONE_MAPPED
Имя пользователя недоступно в указанном формате.

Замечания

Заметка

Заголовок secext.h определяет GetUserNameEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка secext.h (include Security.h)
библиотеки Secur32.lib
DLL Secur32.dll

См. также

EXTENDED_NAME_FORMAT

LookupAccountName

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