RasEapInvokeInteractiveUI function (raseapif.h)

The RAS connection manager calls the RasEapInvokeInteractiveUI function to display a dialog to obtain authentication data from the user.

Syntax

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

Parameters

[in] dwEapTypeId

Specifies the authentication protocol for which to invoke the interactive UI.

[in] hwndParent

Handle to the parent window for the dialog.

[in] pUIContextData

Pointer to context data for the interactive UI. The authentication protocol provides a pointer to this data as a member of the PPP_EAP_OUTPUT structure. The RAS Connection Manager receives the PPP_EAP_OUTPUT structure as an output parameter from the RasEapMakeMessage function.

[in] dwSizeOfUIContextData

Specifies the size of the context data. The authentication protocol provides the size as a member of the PPP_EAP_OUTPUT structure. The RAS Connection Manager receives the PPP_EAP_OUTPUT structure as an output parameter from the RasEapMakeMessage function.

ppDataFromInteractiveUI

[out[ Pointer to a pointer variable. On successful return, this pointer variable points to a memory buffer that contains the data obtained by the interactive UI. The interactive UI allocates this memory. RAS passes this data back to the authentication protocol in the PPP_EAP_INPUT structure, then RAS frees this memory by calling RasEapFreeMemory.

If the interactive UI does not obtain any user-specific data, the pointer that ppUserData points to should be set to NULL.

[out] pdwSizeOfDataFromInteractiveUI

Pointer to a DWORD variable that receives the size of the data returned from the interactive UI. If the interactive UI does not obtain any user-specific data, the DWORD variable should be set to zero.

Return value

If the function succeeds, the return value is NO_ERROR. Check the ppDataFromInteractiveUI and lpdwSizeOfDataFromInteractiveUI parameters to determine if the function returned data from the interactive UI.

If the function was not able to allocate memory for the data, the return value should be ERROR_NOT_ENOUGH_MEMORY.

If the function fails in some other way, the return value should be an appropriate error code from Winerror.h, Raserror.h, or Mprerror.h.

Remarks

The DLL that implements the RasEapInvokeInteractiveUI and RasEapFreeMemory functions may support more than one authentication protocol. The dwEapTypeId parameter specifies the authentication protocol for which to invoke the interactive UI.

A pointer to the data returned from the interactive UI is passed back to the authentication protocol in the pDataFromInteractiveUI member of PPP_EAP_INPUT structure. The PPP_EAP_INPUT structure is passed as a parameter to the RasEapMakeMessage function.

The interactive user interface must support WM_COMMAND messages where LOWORD(wParam) equals IDCANCEL.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header raseapif.h

See also

EAP Functions

Extensible Authentication Protocol Reference

Interactive User Interface

PPP_EAP_INPUT

PPP_EAP_OUTPUT

RasEapFreeMemory

RasEapGetIdentity

RasEapInvokeConfigUI

RasEapMakeMessage