Condividi tramite


Interfaccia utente interattiva

Il fornitore che implementa il protocollo di autenticazione può anche fornire un'interfaccia utente interattiva per il protocollo. L'interfaccia utente interattiva consente al protocollo di autenticazione di ottenere informazioni aggiuntive dall'utente in base alle esigenze durante la sessione di autenticazione.

L'interfaccia utente interattiva può essere implementata nella stessa DLL del protocollo di autenticazione o in una DLL separata. Inoltre, la DLL che implementa l'interfaccia utente interattiva può supportare più protocolli di autenticazione. Il percorso della DLL per l'interfaccia utente interattiva viene archiviato nel valore del Registro di sistema RAS_EAP_VALUENAME_INTERACTIVEUI , sotto la chiave per il protocollo di autenticazione. Per altre informazioni sulla creazione di questo valore del Registro di sistema, vedere Installazione EAP.

La DLL per l'interfaccia utente interattiva deve esportare i punti di ingresso per le funzioni seguenti:

RasEapInvokeInteractiveUI
RasEapFreeMemory

L'interfaccia utente interattiva deve supportare WM_COMMAND messaggi in cui LOWORD (wParam) è uguale a IDCANCEL.

Per visualizzare l'interfaccia utente interattiva, il protocollo di autenticazione deve impostare il membro fInvokeInteractiveUI della struttura PPP_EAP_OUTPUT su TRUE. Il protocollo di autenticazione può facoltativamente impostare anche i membri pUIContextData e dwSizeOfUIContextData su TRUE . Il servizio di autenticazione usa i valori di questi membri per passare i dati di contesto all'interfaccia utente interattiva. Il protocollo di autenticazione restituisce la struttura PPP_EAP_OUTPUT come parametro nella funzione RasEapMakeMessage.

Il servizio di autenticazione richiama l'interfaccia utente interattiva chiamando RasEapInvokeInteractiveUI. Il servizio passa quindi il protocollo di autenticazione un puntatore ai dati restituiti dall'interfaccia utente interattiva nella chiamata successiva a RasEapMakeMessage. Il puntatore viene passato come membro di una struttura PPP_EAP_INPUT. Dopo la restituzione di RasEapMakeMessage , il servizio chiama RasEapFreeMemory per liberare la memoria occupata dalle informazioni. Pertanto, il protocollo di autenticazione deve copiare le informazioni in un buffer di memoria privato durante la chiamata a RasEapMakeMessage.