Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
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_OUTPUTstructure. RAS receives the PPP_EAP_OUTPUTstructure as an output parameter from the RasEapMakeMessagefunction.

dwSizeofUIContextData

[in] Specifies the size of the context data. The authentication protocol provides the size as a member of the PPP_EAP_OUTPUTstructure. RAS receives the PPP_EAP_OUTPUTstructure as an output parameter from the RasEapMakeMessagefunction.

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_INPUTstructure, then RAS frees this memory by calling the RasEapFreeMemoryfunction.

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

pdwSizeOfDataFromInteractiveUI

[out] Pointer to a DWORDvariable that receives the size of the data returned from the interactive UI. If the interactive UI does not obtain any user-specific data, the DWORDvariable 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 lpdwSizeOfDataFromInteractiveUIparameters 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 RasEapInvokeInteractiveUIand RasEapFreeMemoryfunctions may support more than one authentication protocol. The dwEapTypeIdparameter 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 pDataFromInteractiveUImember of the PPP_EAP_INPUTstructure. The PPP_EAP_INPUTstructure is passed as a parameter to the RasEapMakeMessagefunction.

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