Share via


RasEapInvokeInteractiveUI

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function is called by RAS to display a dialog to obtain authentication data from the user.

Syntax

DWORD RasEapInvokeInteractiveUI(
  DWORD dwEapTypeId, 
  HINSTANCE hInstance, 
  HWND hwndParent, 
  BYTE* pUIContextData, 
  DWORD dwSizeofUIContextData, 
  BYTE** ppDataFromInteractiveUI, 
  DWORD* pdwSizeOfDataFromInteractiveUI
);

Parameters

  • dwEapTypeId
    [in] Specifies the authentication protocol for which to invoke the interactive user interface (UI).
  • hInstance
    Handle to the dynamic-link library (DLL) module.
  • hwndParent
    [in] Handle to the parent window for the dialog.
  • pUIContextData
    [in] 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. RAS receives the PPP_EAP_OUTPUT structure as an output parameter from the RasEapMakeMessage function.
  • dwSizeofUIContextData
    [in] Specifies the size of the context data. The authentication protocol provides the size as a member of the PPP_EAP_OUTPUT structure. RAS 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 will point 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 the RasEapFreeMemory function.

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

  • pdwSizeOfDataFromInteractiveUI
    [out] 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.
  • szIdentity
    Pointer to a buffer of length UNLEN+DNLEN+2. The authentication protocol may use this buffer to return a string that identifies the user requesting authentication.

Return Value

If the function call 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 is unable to allocate memory for the data, it will return ERROR_NOT_ENOUGH_MEMORY.

If the function call fails in some other way, it returns 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 the 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.

Note

This function is called by the EAP module, not by the application. Therefore, no link library is exposed. For more information, see EAP Implementation Details.

Requirements

Header raseapif.h
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note This function is called by the EAP module, not by the application. Therefore, no link library is exposed. For more information see EAP Implementation Details.

See Also

Reference

RasEapFreeMemory
RasEapInvokeConfigUI
RasEapGetIdentity
RasEapMakeMessage
PPP_EAP_INPUT
PPP_EAP_OUTPUT

Concepts

Interactive User Interface