Partager via


Interface utilisateur interactive

Le fournisseur qui implémente le protocole d’authentification peut également fournir une interface utilisateur interactive pour le protocole. L’interface utilisateur interactive permet au protocole d’authentification d’obtenir des informations supplémentaires auprès de l’utilisateur selon les besoins au cours de la session d’authentification.

L’interface utilisateur interactive peut être implémentée dans la même DLL que le protocole d’authentification ou dans une DLL distincte. En outre, la DLL qui implémente l’interface utilisateur interactive peut prendre en charge plusieurs protocoles d’authentification. Le chemin d’accès à la DLL de l’interface utilisateur interactive est stocké dans la valeur de Registre RAS_EAP_VALUENAME_INTERACTIVEUI, sous la clé du protocole d’authentification. Pour plus d’informations sur la création de cette valeur de Registre, consultez Installation EAP.

La DLL de l’interface utilisateur interactive doit exporter des points d’entrée pour les fonctions suivantes :

RasEapInvokeInteractiveUI
RasEapFreeMemory

L’interface utilisateur interactive doit prendre en charge les messages WM_COMMANDLOWORD (wParam) est égal à IDCANCEL.

Pour afficher l’interface utilisateur interactive, le protocole d’authentification doit définir le membre fInvokeInteractiveUI de la structure PPP_EAP_OUTPUT sur TRUE. Le protocole d’authentification peut éventuellement définir les membres pUIContextData et dwSizeOfUIContextData sur TRUE. Le service d’authentification utilise les valeurs de ces membres pour transmettre des données de contexte à l’interface utilisateur interactive. Le protocole d’authentification retourne la structure PPP_EAP_OUTPUT en tant que paramètre dans la fonction RasEapMakeMessage.

Le service d’authentification appelle l’interface utilisateur interactive en appelant RasEapInvokeInteractiveUI. Le service transmet ensuite au protocole d’authentification un pointeur vers les données retournées par l’interface utilisateur interactive dans l’appel suivant à RasEapMakeMessage. Le pointeur est passé en tant que membre d’une structure PPP_EAP_INPUT. Une fois RasEapMakeMessage retourné, le service appelle RasEapFreeMemory pour libérer la mémoire occupée par les informations. Par conséquent, le protocole d’authentification doit copier les informations dans une mémoire tampon privée pendant l’appel à RasEapMakeMessage.