RasEapInvokeInteractiveUI 函数 (raseapif.h)

RAS 连接管理器调用 RasEapInvokeInteractiveUI 函数来显示一个对话框,以便从用户获取身份验证数据。

语法

DWORD RasEapInvokeInteractiveUI(
  [in]  DWORD dwEapTypeId,
  [in]  HWND  hwndParent,
  [in]  BYTE  *pUIContextData,
  [in]  DWORD dwSizeOfUIContextData,
        BYTE  **ppDataFromInteractiveUI,
  [out] DWORD *pdwSizeOfDataFromInteractiveUI
);

parameters

[in] dwEapTypeId

指定要为其调用交互式 UI 的身份验证协议。

[in] hwndParent

对话框的父窗口的句柄。

[in] pUIContextData

指向交互式 UI 的上下文数据的指针。 身份验证协议提供指向此数据的指针,作为 PPP_EAP_OUTPUT 结构的成员。 RAS 连接管理器从 RasEapMakeMessage 函数接收PPP_EAP_OUTPUT结构作为输出参数。

[in] dwSizeOfUIContextData

指定上下文数据的大小。 身份验证协议提供大小作为 PPP_EAP_OUTPUT 结构的成员。 RAS 连接管理器从 RasEapMakeMessage 函数接收PPP_EAP_OUTPUT结构作为输出参数。

ppDataFromInteractiveUI

[out[ 指向指针变量的指针。 成功返回时,此指针变量指向包含交互式 UI 获取的数据的内存缓冲区。 交互式 UI 分配此内存。 RAS 将此数据传递回 PPP_EAP_INPUT 结构的身份验证协议,然后 RAS 通过调用 RasEapFreeMemory 释放此内存。

如果交互式 UI 未获取任何特定于用户的数据,则 ppUserData 指向的指针应设置为 NULL

[out] pdwSizeOfDataFromInteractiveUI

指向接收从交互式 UI 返回的数据大小的 DWORD 变量的指针。 如果交互式 UI 未获取任何特定于用户的数据,则应将 DWORD 变量设置为零。

返回值

如果函数成功,则返回值 NO_ERROR。 检查 ppDataFromInteractiveUIlpdwSizeOfDataFromInteractiveUI 参数,以确定函数是否从交互式 UI 返回数据。

如果函数无法为数据分配内存,则返回值应 ERROR_NOT_ENOUGH_MEMORY

如果函数以其他方式失败,则返回值应该是 Winerror.h、Raserror.h 或 Mprerror.h 中的相应错误代码。

注解

实现 RasEapInvokeInteractiveUIRasEapFreeMemory 函数的 DLL 可能支持多个身份验证协议。 dwEapTypeId 参数指定要为其调用交互式 UI 的身份验证协议。

指向从交互式 UI 返回的数据的指针将传递回 PPP_EAP_INPUT 结构的 pDataFromInteractiveUI 成员中的身份验证协议。 PPP_EAP_INPUT 结构作为参数传递给 RasEapMakeMessage 函数。

交互式用户界面必须支持 WM_COMMAND 消息,其中 LOWORD (wParam) 等于 IDCANCEL。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 raseapif.h

请参阅

EAP 函数

可扩展身份验证协议参考

交互式用户界面

PPP_EAP_INPUT

PPP_EAP_OUTPUT

RasEapFreeMemory

RasEapGetIdentity

RasEapInvokeConfigUI

RasEapMakeMessage