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


Функция 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

Указывает ноль или несколько следующих флагов, которые соответствуют процессу проверки подлинности.

Flag Значение
RASEAPF_NonInteractive
Указывает, что протокол проверки подлинности не должен выводить графический пользовательский интерфейс. Если этот флаг отсутствует, протокол может отображать пользовательский интерфейс.
RASEAPF_Logon
Указывает, что данные пользователя получены из WinLogon.
RASEAPF_Preview
Указывает, что перед набором номера пользователю должен быть предложено ввести сведения об удостоверении.

[in] hwnd

Дескриптор родительского окна для диалогового окна пользовательского интерфейса. Если параметр fInvokeUI имеет значение FALSE, то hwnd должно иметь значение NULL.

[out] ppRasEapUserIdentity

Указатель на указатель, который при успешном возвращении получает адрес структуры RASEAPUSERIDENTITY , содержащей сведения об удостоверениях пользователя EAP. RasGetEapUserIdentity выделяет буфер памяти для структуры RASEAPUSERIDENTITY . Освободите эту память, вызвав RasFreeEapUserIdentity.

Возвращаемое значение

Если функция завершается успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается ошибкой, возвращается один из следующих кодов ошибок или значение из кода ошибок маршрутизации и удаленного доступа или Winerror.h.

Значение Значение
E_INVALID_ARG
Параметр pcbEapUserIdentity имеет значение NULL.
ERROR_INTERACTIVE_MODE
Функция была вызвана с флагом RASEAPF_NonInteractive. Однако протокол проверки подлинности должен отображать пользовательский интерфейс, чтобы получить необходимые сведения об удостоверении от пользователя.
ERROR_INVALID_FUNCTION_FOR_ENTRY
Либо метод проверки подлинности для этой записи телефонной книги не EAP, либо метод проверки подлинности EAP, но протокол использует стандартное диалоговое окно учетных данных Windows NT/Windows 2000 для получения сведений об удостоверениях пользователя. В любом случае вызывающей стороны не нужно передавать сведения об удостоверениях EAP в RasDial.
ERROR_RASMAN_CANNOT_INITIALIZE
Не удалось инициализировать службу удаленного доступа.
Другое
Используйте 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

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

RASEAPUSERIDENTITY

Rasdial

RasEapGetIdentity

RasFreeEapUserIdentity

RasGetEapUserData

RasSetEapUserData