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
指定限定身份验证过程的以下标志的零个或多个。
标志 | 含义 |
---|---|
|
指定身份验证协议不应显示图形用户界面。 如果此标志不存在,则协议可以显示用户界面。 |
|
指定从 WinLogon 获取用户数据。 |
|
指定在拨号之前应提示用户输入标识信息。 |
[in] hwnd
UI 对话框的父窗口的句柄。 如果 fInvokeUI 参数为 FALSE,则 hwnd 应为 NULL。
[out] ppRasEapUserIdentity
指向一个指针的指针,该指针在成功返回时接收包含 EAP 用户标识信息的 RASEAPUSERIDENTITY 结构的地址。 RasGetEapUserIdentity 为 RASEAPUSERIDENTITY 结构分配内存缓冲区。 通过调用 RasFreeEapUserIdentity 释放此内存。
返回值
如果函数成功,则返回值 ERROR_SUCCESS。
如果函数失败,则返回值为以下错误代码之一或 路由和远程访问错误代码 或 Winerror.h 中的值。
值 | 含义 |
---|---|
|
该参数为 NULL。该参数为 null。 |
|
该函数是使用 RASEAPF_NonInteractive 标志调用的。 但是,身份验证协议必须显示 UI 才能从用户获取所需的标识信息。 |
|
此电话簿条目的身份验证方法不是 EAP,或者身份验证方法是 EAP,但协议使用标准的 Windows NT/Windows 2000 凭据对话框来获取用户标识信息。 在任一情况下,调用方都不需要将 EAP 标识信息传递给 RasDial。 |
|
远程访问服务无法正确初始化。 |
|
使用 FormatMessage 检索与返回的错误代码对应的系统错误消息。 |
注解
RasGetEapUserIdentity 调用 RAS 函数 RasGetEapUserData 和 EAP 函数 RasEapGetIdentity。 RasEapGetIdentity 由身份验证协议实现。
如果函数成功,即返回值NO_ERROR,则调用方应将 EAP 标识信息从 ppRasEapUserIdentity 参数指向的 RASEAPUSERIDENTITY 结构复制到 RASDIALPARAMS 和 RASDIALEXTENSIONS 结构中,用于对 RasDial 的调用。
如果正在开发的远程访问应用程序具有图形用户界面, 则 RasGetEapUserIdentity 的调用方不应指定RASEAPF_NonInteractive标志。 如果应用程序具有命令行用户界面,则调用方可能需要指定RASEAPF_NonInteractive标志,以防止身份验证协议显示图形用户界面。
注意
ras.h 标头将 RasGetEapUserIdentity 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ras.h |
Library | Rasapi32.lib |
DLL | Rasapi32.dll |