RasEapGetIdentity 函数 (raseapif.h)
RAS 连接管理器调用 RasEapGetIdentity 函数以获取请求身份验证的用户的标识信息。
语法
DWORD RasEapGetIdentity(
[in] DWORD dwEapTypeId,
[in] HWND hwndParent,
[in] DWORD dwFlags,
[in] const WCHAR *pwszPhonebook,
[in] const WCHAR *pwszEntry,
[in] BYTE *pConnectionDataIn,
[in] DWORD dwSizeOfConnectionDataIn,
[in] BYTE *pUserDataIn,
[in] DWORD dwSizeOfUserDataIn,
[out] BYTE **ppUserDataOut,
[out] DWORD *pdwSizeOfUserDataOut,
[out] WCHAR **ppwszIdentityOut
);
参数
[in] dwEapTypeId
指定要为其调用标识用户界面的身份验证协议。
[in] hwndParent
用户界面对话框的父窗口的句柄。 如果 dwFlags 参数包含 RAS_EAP_FLAG_NON_INTERACTIVE 标志,则 hwndParent 为 NULL。
[in] dwFlags
指定限定身份验证过程的以下标志的零个或多个。
[in] pwszPhonebook
指向以 null 结尾的 Unicode 字符串的指针,该字符串指定电话簿 (PBK) 文件的完整路径。 如果此参数为 NULL,则该函数使用系统电话簿。
[in] pwszEntry
指向以 null 结尾的 Unicode 字符串的指针,该字符串指定现有条目名称。
[in] pConnectionDataIn
指向当前存储在电话簿条目中的特定于连接的数据的指针。
[in] dwSizeOfConnectionDataIn
指定当前存储在电话簿条目中的特定于连接的数据的大小。
[in] pUserDataIn
指向注册表中当前为此用户存储的用户特定数据的指针。
[in] dwSizeOfUserDataIn
指定注册表中当前为此用户存储的用户特定数据的大小。
[out] ppUserDataOut
指向一个指针的指针,该指针在成功返回时指向用户的标识数据。 在调用 RasEapBegin 期间,此数据将传递到 PPP_EAP_INPUT 的 pUserData 成员中的身份验证协议。
身份验证协议应为标识数据分配内存缓冲区。 RAS 将通过调用 RasEapFreeMemory 来释放此内存。
[out] pdwSizeOfUserDataOut
指向 DWORD 变量的指针,该变量接收 ppUserDataOut 参数指向的数据的大小。
[out] ppwszIdentityOut
指向成功返回时指向以 null 结尾的 Unicode 字符串的指针,该字符串标识请求身份验证的用户。 在调用 RasEapBegin 期间,此字符串传递到 PPP_EAP_INPUT 的 pszIdentity 成员中的身份验证协议。
返回值
如果函数成功,则返回值 NO_ERROR。
如果函数无法为用户数据分配内存,则应 ERROR_NOT_ENOUGH_MEMORY返回值。
如果使用 RAS_EAP_FLAG_NON_INTERACTIVE 标志调用函数,但必须调用用户界面来确定用户的标识,则函数应返回 ERROR_INTERACTIVE_MODE。
如果函数以其他方式失败,则返回值应为 Winerror.h、Raserror.h 或 Mprerror.h 中的相应错误代码。
注解
实现 RasEapGetIdentity 和 RasEapFreeMemory 的 DLL 可能支持多个身份验证协议。 dwEapTypeId 参数指定要调用标识用户界面的协议。
如果没有 RasEapFreeMemory 的实现,IEEE 802.1X 和 PPP 协议不会调用 RasEapGetIdentity。
身份验证协议在 RasEapBegin 期间接收从 PPP_EAP_INPUT 的 pUserData 成员中的 RasEapGetIdentity 返回的数据。 若要将此用户的数据存储在注册表中,身份验证协议应将 PPP_EAP_OUTPUT 的 pUserData 成员设置为指向数据,并将 PPP_EAP_OUTPUT 的 fSaveUserData 成员设置为 TRUE。
此函数由 RAS 函数 RasGetEapUserIdentity 调用。
如果 RasEapGetIdentity 显示用户界面,则用户界面必须支持 LOWORD (wParam) 等于 IDCANCEL 的WM_COMMAND消息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | raseapif.h |