Функция 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 в TCHAR. Если функция выполнена успешно, переменная получает количество TCHAR , скопированных в буфер, не включая завершающий символ 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 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header secext.h (включая Security.h)
Библиотека Secur32.lib
DLL Secur32.dll

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

EXTENDED_NAME_FORMAT

LookupAccountName

Функции сведений о системе