RasGetEapUserIdentityA 函数 (ras.h)
RasGetEapUserIdentity 函数检索当前用户的标识信息。 使用此信息通过需要可扩展身份验证协议(EAP)的电话簿条目调用 RasDial。
语法
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 的值。
价值 | 意义 |
---|---|
|
|
|
使用 RASEAPF_NonInteractive 标志调用了该函数。 但是,身份验证协议必须显示 UI 才能从用户获取所需的标识信息。 |
|
此电话簿条目的身份验证方法不是 EAP,或者身份验证方法是 EAP,但协议使用标准 Windows NT/Windows 2000 凭据对话框来获取用户标识信息。 无论哪种情况,调用方都不需要将 EAP 标识信息传递给 RasDial。 |
|
远程访问服务无法正确初始化。 |
|
使用 FormatMessage 检索与返回的错误代码对应的系统错误消息。 |
言论
RasGetEapUserIdentity 调用 RAS 函数 RasGetEapUserData 和 EAP 函数 RasEapGetIdentity。 RasEapGetIdentity 由身份验证协议实现。
如果函数成功,即返回值NO_ERROR, 调用方应将
如果开发的远程访问应用程序具有图形用户界面,则 RasGetEapUserIdentity 的调用方不应指定RASEAPF_NonInteractive标志。 如果应用程序具有命令行用户界面,调用方可能希望指定RASEAPF_NonInteractive标志,以防止身份验证协议显示图形用户界面。
注意
ras.h 标头将 RasGetEapUserIdentity 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | ras.h |
库 | Rasapi32.lib |
DLL | Rasapi32.dll |