Функция RasGetEapUserIdentityA (ras.h)
Функция RasGetEapUserIdentity извлекает сведения об удостоверениях для текущего пользователя. Используйте эти сведения для вызова RasDial с записью телефонной книги, требующей расширяемого протокола проверки подлинности (EAP).
Синтаксис
DWORD RasGetEapUserIdentityA(
[in] LPCSTR pszPhonebook,
[in] LPCSTR pszEntry,
[in] DWORD dwFlags,
[in] HWND hwnd,
[out] LPRASEAPUSERIDENTITYA *ppRasEapUserIdentity
);
Параметры
[in] pszPhonebook
Указатель на строку null-terminated, которая указывает полный путь к файлу телефонной книги (PBK). Если этот параметр null, функция использует системную телефонную книгу.
[in] pszEntry
Указатель на строку null-terminated, указывающую существующее имя записи.
[in] dwFlags
Указывает ноль или более следующих флагов, которые соответствуют процессу проверки подлинности.
[in] hwnd
Обработка родительского окна для диалогового окна пользовательского интерфейса. Если параметр fInvokeUIFALSE, должно быть NULL.
[out] ppRasEapUserIdentity
Указатель на указатель, который при успешном возвращении получает адрес структуры RASEAPUSERIDENTITY, содержащей сведения об удостоверениях пользователя EAP. RasGetEapUserIdentity выделяет буфер памяти для структуры RASEAPUSERIDENTITY. Освободите эту память путем вызова RasFreeEapUserIdentity.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS.
Если функция завершается ошибкой, возвращаемое значение является одним из следующих кодов ошибок или значения из кодов ошибок маршрутизации и удаленного доступа или Winerror.h.
Ценность | Значение |
---|---|
|
Параметр |
|
Функция была вызвана с флагом RASEAPF_NonInteractive. Однако протокол проверки подлинности должен отображать пользовательский интерфейс, чтобы получить необходимые сведения об удостоверениях от пользователя. |
|
Либо метод проверки подлинности для этой записи телефонной книги не является EAP, либо метод проверки подлинности — EAP, но протокол использует стандартное диалоговое окно учетных данных Windows NT/Windows 2000 для получения сведений об удостоверениях пользователя. В любом случае вызывающий объект не должен передавать сведения об удостоверениях EAP в RasDial. |
|
Не удалось инициализировать службу удаленного доступа. |
|
Используйте FormatMessage, чтобы получить системное сообщение об ошибке, соответствующее возвращенной коду ошибки. |
Замечания
RasGetEapUserIdentity вызывает функцию RAS RasGetEapUserData и функцию EAP RasEapGetIdentity. RasEapGetIdentity реализуется протоколом проверки подлинности.
Если функция выполнена успешно, это возвращаемое значение NO_ERROR, вызывающий объект должен скопировать сведения об удостоверении EAP из структуры RASEAPUSERIDENTITY, на которую указывает параметр ppRasEapUserIdentity в RASDIALPARAMS и структуры RASDIALEXTENSIONS, используемые в вызове RasDial.
Если разработанное приложение удаленного доступа имеет графический пользовательский интерфейс, вызывающий объект RasGetEapUserIdentity не должен указывать флаг RASEAPF_NonInteractive. Если у приложения есть пользовательский интерфейс командной строки, вызывающий объект может потребовать указать флаг RASEAPF_NonInteractive, чтобы предотвратить отображение графического пользовательского интерфейса протокола проверки подлинности.
Заметка
Заголовок ras.h определяет RasGetEapUserIdentity как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ras.h |
библиотеки |
Rasapi32.lib |
DLL | Rasapi32.dll |