Функция 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, которая указывает полный путь к файлу телефонной книги (PBK). Если этот параметр имеет значение NULL, функция использует системную телефонную книгу.
[in] pszEntry
Указатель на строку, завершающуюся значением NULL, которая указывает существующее имя записи.
[in] dwFlags
Указывает ноль или несколько следующих флагов, которые соответствуют процессу проверки подлинности.
[in] hwnd
Дескриптор родительского окна для диалогового окна пользовательского интерфейса. Если параметр fInvokeUI имеет значение FALSE, то hwnd должно иметь значение NULL.
[out] ppRasEapUserIdentity
Указатель на указатель, который при успешном возвращении получает адрес структуры RASEAPUSERIDENTITY , содержащей сведения об удостоверениях пользователя EAP. RasGetEapUserIdentity выделяет буфер памяти для структуры RASEAPUSERIDENTITY . Освободите эту память, вызвав RasFreeEapUserIdentity.
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается ошибкой, возвращается один из следующих кодов ошибок или значение из кода ошибок маршрутизации и удаленного доступа или Winerror.h.
Значение | Значение |
---|---|
|
Параметр pcbEapUserIdentity имеет значение NULL. |
|
Функция была вызвана с флагом 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 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ras.h |
Библиотека | Rasapi32.lib |
DLL | Rasapi32.dll |