Freigeben über


Interactive User Interface (Interaktive Benutzeroberfläche)

Der Anbieter, der das Authentifizierungsprotokoll implementiert, kann auch eine interaktive Benutzeroberfläche (UI) für das Protokoll bereitstellen. Die interaktive Benutzeroberfläche ermöglicht es dem Authentifizierungsprotokoll, nach Bedarf während der Authentifizierungssitzung zusätzliche Informationen vom Benutzer abzurufen.

Die interaktive Benutzeroberfläche kann in derselben DLL wie das Authentifizierungsprotokoll oder in einer separaten DLL implementiert werden. Außerdem kann die DLL, die die interaktive Benutzeroberfläche implementiert, mehrere Authentifizierungsprotokolle unterstützen. Der Pfad zur DLL für die interaktive Benutzeroberfläche wird im Registrierungswert S_EAP_VALUENAME_INTERACTIVEUI unter dem Schlüssel für das Authentifizierungsprotokoll gespeichert. Weitere Informationen zum Erstellen dieses Registrierungswerts finden Sie unter EAP-Installation.

Die DLL für die interaktive Benutzeroberfläche sollte Einstiegspunkte für die folgenden Funktionen exportieren:

RasEapInvokeInteractiveUI
RasEapFreeMemory

Die interaktive Benutzeroberfläche muss WM_COMMAND Meldungen unterstützen, bei denen LOWORD (wParam) IDCANCEL entspricht.

Um die interaktive Benutzeroberfläche anzuzeigen, sollte das Authentifizierungsprotokoll das fInvokeInteractiveUI-Element der PPP_EAP_OUTPUT Struktur auf TRUE festlegen. Das Authentifizierungsprotokoll kann optional auch die pUIContextData- und dwSizeOfUIContextData-Elemente auf TRUE festlegen. Der Authentifizierungsdienst verwendet die Werte dieser Elemente, um Kontextdaten an die interaktive Benutzeroberfläche zu übergeben. Das Authentifizierungsprotokoll gibt die PPP_EAP_OUTPUT-Struktur als Parameter in der RasEapMakeMessage-Funktion zurück.

Der Authentifizierungsdienst ruft die interaktive Benutzeroberfläche mit RasEapInvokeInteractiveUI auf. Anschließend übergibt der Dienst das Authentifizierungsprotokoll an die von der interaktiven Benutzeroberfläche zurückgegebenen Daten im nachfolgenden Aufruf von RasEapMakeMessage. Der Zeiger wird als Element einer PPP_EAP_INPUT-Struktur übergeben. Nachdem RasEapMakeMessage zurückgegeben wurde, ruft der Dienst RasEapFreeMemory auf, um den von den Informationen belegten Speicher freizugeben. Daher sollte das Authentifizierungsprotokoll die Informationen während des Aufrufs von RasEapMakeMessage in einen privaten Speicherpuffer kopieren.