Partager via


RasEapInvokeInteractiveUI (Compact 2013)

3/26/2014

This function is called by RAS to display a dialog box from which 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 DLL module.
  • hwndParent
    [in] Handle to the parent window for the dialog box.
  • 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, 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 whether 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.

Requirements

Header

raseapif.h

See Also

Reference

EAP Functions
RasEapFreeMemory
RasEapInvokeConfigUI
RasEapGetIdentity
RasEapMakeMessage
PPP_EAP_INPUT
PPP_EAP_OUTPUT