Функция CredUIParseUserNameA (wincred.h)
Функция CredUIParseUserName извлекает имя домена и учетной записи пользователя из полного имени пользователя.
Синтаксис
CREDUIAPI DWORD CredUIParseUserNameA(
[in] PCSTR userName,
[out] CHAR *user,
[in] ULONG userBufferSize,
[out] CHAR *domain,
[in] ULONG domainBufferSize
);
Параметры
[in] userName
Указатель на строку null-terminated, содержащую имя пользователя для анализа. Имя должно быть в формате имени участника-пользователя или нижнего уровня или сертификате. Как правило, pszUserName получается от CredUIPromptForCredentials или CredUICmdLinePromptForCredentials.
[out] user
Указатель на строку null-terminated, которая получает имя учетной записи пользователя.
[in] userBufferSize
Максимальное число символов для записи в строку pszUser, включая завершающийся символ null.
[out] domain
Указатель на строку null-terminated, которая получает доменное имя. Если pszUserName указывает сертификат, pszDomain будет NULL.
[in] domainBufferSize
Максимальное количество символов для записи в строку pszDomain, включая завершающийся символ null.
Возвращаемое значение
Эта функция возвращает следующую функцию:
- NO_ERROR
Допустимое имя пользователя.
- ERROR_INVALID_ACCOUNT_NAME
Недопустимое имя пользователя.
- ERROR_INSUFFICIENT_BUFFER
Один из буферов слишком мал.
- ERROR_INVALID_PARAMETER
- ulUserMaxChars или ulDomainMaxChars равно нулю.
- pszUserName, pszUserили pszDomainNULL.
Замечания
Эта функция анализирует сведения о имени пользователя, возвращаемые CredUIPromptForCredentials и CredUICmdLinePromptForCredentials функций, чтобы полученные учетные данные могли передаваться в функции, такие как LogonUser, которые требуют имени пользователя и домена в виде отдельных строк.
Поддерживаются следующие форматы:
-
<МаршаллеedCredentialReference>
Ссылка на маршалированные учетные данные, определенные CredIsMarshaledCredential. Такие учетные данные возвращаются в параметре пользователя
. Параметр доменаимеет пустую строку. -
<DomainName>\<UserName>
Имя пользователя возвращается в параметре User , а возвращаетсяDomainName — параметр домена . Имя считается таким синтаксисом, если UserName содержит обратную косую черту (\). -
<UserName>@<DNSDomainName>
Вся строка возвращается в параметре пользователя
. Параметр доменаимеет пустую строку. Для этого синтаксиса используется последний @ в строке, так как <имя_пользователя> может содержать @, но <DNSDomainName> невозможно.
Заметка
Заголовок wincred.h определяет CredUIParseUserName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wincred.h |
библиотеки |
Credui.lib |
DLL | Credui.dll |