Funzione RasGetEapUserIdentityA (ras.h)

La funzione RasGetEapUserIdentity recupera le informazioni sull'identità per l'utente corrente. Usare queste informazioni per chiamare RasDial con una voce di rubrica telefonica che richiede Extensible Authentication Protocol (EAP).

Sintassi

DWORD RasGetEapUserIdentityA(
  [in]  LPCSTR                pszPhonebook,
  [in]  LPCSTR                pszEntry,
  [in]  DWORD                 dwFlags,
  [in]  HWND                  hwnd,
  [out] LPRASEAPUSERIDENTITYA *ppRasEapUserIdentity
);

Parametri

[in] pszPhonebook

Puntatore a una stringa con terminazione Null che specifica il percorso completo del file della rubrica telefonica (PBK). Se questo parametro è NULL, la funzione utilizza la rubrica di sistema.

[in] pszEntry

Puntatore a una stringa con terminazione Null che specifica un nome di voce esistente.

[in] dwFlags

Specifica zero o più flag seguenti che qualificano il processo di autenticazione.

Contrassegno Significato
RASEAPF_NonInteractive
Specifica che il protocollo di autenticazione non deve visualizzare un'interfaccia utente grafica. Se questo flag non è presente, è possibile che il protocollo visualizzi un'interfaccia utente.
RASEAPF_Logon
Specifica che i dati utente vengono ottenuti da WinLogon.
RASEAPF_Preview
Specifica che all'utente devono essere richieste le informazioni sull'identità prima della composizione.

[in] hwnd

Handle per la finestra padre per la finestra di dialogo dell'interfaccia utente. Se il parametro fInvokeUI è FALSE, hwnd deve essere NULL.

[out] ppRasEapUserIdentity

Puntatore a un puntatore che, in caso di esito positivo, riceve l'indirizzo della struttura RASEAPUSERIDENTITY che contiene informazioni sull'identità utente EAP. RasGetEapUserIdentity alloca il buffer di memoria per la struttura RASEAPUSERIDENTITY . Liberare questa memoria chiamando RasFreeEapUserIdentity.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti o un valore di Routing e Remote Access Error Codes o Winerror.h.

Valore Significato
E_INVALID_ARG
Il parametro pcbEapUserIdentity è NULL.
ERROR_INTERACTIVE_MODE
La funzione è stata chiamata con il flag RASEAPF_NonInteractive. Tuttavia, il protocollo di autenticazione deve visualizzare un'interfaccia utente per ottenere le informazioni di identità necessarie dall'utente.
ERROR_INVALID_FUNCTION_FOR_ENTRY
Il metodo di autenticazione per questa voce della rubrica telefonica non è EAP o il metodo di autenticazione è EAP, ma il protocollo usa la finestra di dialogo delle credenziali standard di Windows NT/Windows 2000 per ottenere informazioni sull'identità utente. In entrambi i casi, il chiamante non deve passare le informazioni sull'identità EAP a RasDial.
ERROR_RASMAN_CANNOT_INITIALIZE
Impossibile inizializzare correttamente il servizio accesso remoto.
Altri
Usare FormatMessage per recuperare il messaggio di errore di sistema corrispondente al codice di errore restituito.

Commenti

RasGetEapUserIdentity chiama la funzione RAS RasGetEapUserData e la funzione EAP RasEapGetIdentity. RasEapGetIdentity viene implementato dal protocollo di autenticazione.

Se la funzione ha esito positivo, ovvero il valore restituito è NO_ERROR, il chiamante deve copiare le informazioni sull'identità EAP dalla struttura RASEAPUSERIDENTITY a cui punta il parametro ppRasEapUserIdentity alle strutture RASDIALPARAMS e RASDIALEXTENSIONS usate nella chiamata a RasDial.

Se l'applicazione di accesso remoto sviluppata ha un'interfaccia utente grafica, il chiamante di RasGetEapUserIdentity non deve specificare il flag RASEAPF_NonInteractive. Se l'applicazione ha un'interfaccia utente della riga di comando, il chiamante può voler specificare il flag RASEAPF_NonInteractive per impedire al protocollo di autenticazione di visualizzare un'interfaccia utente grafica.

Nota

L'intestazione ras.h definisce RasGetEapUserIdentity come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ras.h
Libreria Rasapi32.lib
DLL Rasapi32.dll

Vedi anche

RASEAPUSERIDENTITY

RasDial

RasEapGetIdentity

RasFreeEapUserIdentity

RasGetEapUserData

RasSetEapUserData