Freigeben über


PPP_EAP_INPUT Struktur (raseapif.h)

Die PPP_EAP_INPUT-Struktur wird in der Interaktion zwischen der RAS Verbindungs-Manager Service PPP-Implementierung und dem EAP verwendet.

Diese Struktur stellt Benutzerinformationen bereit und erleichtert die Verwendung von Authentifizierungsanbietern, z. B. einem RADIUS-Server.

Syntax

typedef struct _PPP_EAP_INPUT {
  DWORD              dwSizeInBytes;
  DWORD              fFlags;
  BOOL               fAuthenticator;
  WCHAR              *pwszIdentity;
  WCHAR              *pwszPassword;
  BYTE               bInitialId;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fAuthenticationComplete;
  DWORD              dwAuthResultCode;
  HANDLE             hTokenImpersonateUser;
  BOOL               fSuccessPacketReceived;
  BOOL               fDataReceivedFromInteractiveUI;
  PBYTE              pDataFromInteractiveUI;
  DWORD              dwSizeOfDataFromInteractiveUI;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  HANDLE             hReserved;
  GUID               guidConnectionId;
  BOOL               isVpn;
} PPP_EAP_INPUT, *PPPP_EAP_INPUT;

Member

dwSizeInBytes

Gibt die Größe der PPP_EAP_INPUT-Struktur in Bytes an. Der Wert dieses Members kann verwendet werden, um zwischen aktuellen und zukünftigen Versionen dieser Struktur zu unterscheiden.

fFlags

Gibt mindestens null der folgenden Flags an, die den Authentifizierungsprozess qualifizieren.

Wert Bedeutung
RAS_EAP_FLAG_ROUTER
Gibt an, ob es sich bei dem einwählenden Computer um einen Router oder einen RAS-Client handelt. Wenn es sich bei dem Computer um einen Router handelt, sollte dieser Parameter festgelegt werden.
RAS_EAP_FLAG_NON_INTERACTIVE
Gibt an, dass das Authentifizierungsprotokoll keine Benutzeroberfläche aufrufen soll. Wenn das Authentifizierungsprotokoll nicht in der Lage ist, die Identität aus den angegebenen Daten zu ermitteln, sollte es den Fehlercode ERROR_INTERACTIVE_MODE zurückgeben, der in raserror.h definiert ist.
RAS_EAP_FLAG_LOGON
Gibt an, dass die Benutzerdaten von Winlogon abgerufen werden.
RAS_EAP_FLAG_FIRST_LINK
Gibt an, dass diese Verbindung der erste Link in einer Multilinkverbindung ist. Weitere Informationen finden Sie unter [Multilink and Callback Connections](/windows/win32/eap/multilink-and-callback-connections).
RAS_EAP_FLAG_GUEST_ACCESS
Wird angegeben, wenn der Client Gastzugriff wünscht. Dieses Flag wird normalerweise im Fall einer drahtlosen Verbindung verwendet, sodass bei der Authentifizierung für die N-Anzahl aufeinanderfolgender Versuche der Drahtlose Client, wenn er für die Anforderung des Gastzugriffs konfiguriert ist, ein Fehler auftritt, indem dieses Flag übergeben wird. Der RADIUS-Server sollte so eingerichtet werden, dass der Gastzugriff zulässig ist.
RAS_EAP_FLAG_8021X_AUTH
Gibt an, dass diese Sitzung in einem drahtlosen Kontext ausgeführt wird.
RAS_EAP_FLAG_RESUME_FROM_HIBERNATE
Gibt an, dass dies der erste Aufruf ist, nachdem der Computer aus dem Ruhezustand fortgesetzt wurde.
RAS_EAP_FLAG_PEAP_UPFRONT
Gibt an, dass PEAP am Anfang der IAS-Pipeline aktiviert ist.
RAS_EAP_FLAG_ALTERNATIVE_USER_DB
Gibt an, dass die Benutzerdatenbank nicht Active Directory ist.
RAS_EAP_FLAG_PRE_LOGON
Gibt an, dass die Anmeldeinformationen für den Benutzer oder ein Computerkonto auf sichere Weise abgerufen werden sollen, ohne mehrere UI-Instanzen anzuheben.

fAuthenticator

Gibt an, ob das Authentifizierungsprotokoll auf dem Server oder Client ausgeführt wird. Der Wert TRUE gibt an, dass das Authentifizierungsprotokoll auf dem Server als Authentifikator ausgeführt wird. Der Wert FALSE gibt an, dass das Authentifizierungsprotokoll auf dem Client als zu authentifizierter Prozess ausgeführt wird.

pwszIdentity

Zeiger auf eine Unicode-Zeichenfolge, die den Benutzer identifiziert, der die Authentifizierung anfordert. Diese Zeichenfolge entspricht dem Formular domäne\user or machine\user.

Wenn das Authentifizierungsprotokoll in der Lage ist, die Identität des Benutzers von einer zusätzlichen Quelle, z. B. einem Zertifikat, abzuleiten, sollte es überprüfen, ob die abgeleitete Identität mit dem Wert von pwszIdentity übereinstimmt.

pwszPassword

Zeiger auf eine Unicode-Zeichenfolge, die das Kontokennwort des Benutzers enthält. Nur verfügbar, wenn fAuthenticatorFALSE ist. Dieses Element kann NULL sein.

bInitialId

Gibt den Bezeichner des anfänglichen EAP-Pakets an, das von der DLL gesendet wurde. Dieser Wert wird für jedes nachfolgende Anforderungspaket um eins erhöht.

pUserAttributes

Zeiger auf ein Array von RAS_AUTH_ATTRIBUTE Strukturen. Das Array wird durch eine Struktur mit einem raaType-Member beendet, das den Wert raatMinimum aufweist (siehe RAS_AUTH_ATTRIBUTE_TYPE). Während des RasEapBegin-Aufrufs enthält dieses Array Attribute, die den aktuell eingewählten Benutzer beschreiben. Wenn das fAuthenticationComplete-ElementTRUE ist, kann dieses Array Attribute enthalten, die vom Authentifizierungsanbieter zurückgegeben werden.

fAuthenticationComplete

Gibt einen booleschen Wert an, der angibt, ob der Authentifizierungsanbieter den Benutzer authentifiziert hat. Der Wert TRUE gibt an, dass die Authentifizierung abgeschlossen ist. Überprüfen Sie das dwAuthResultCode-Element , um festzustellen, ob die Authentifizierung erfolgreich war. Ignorieren Sie diesen Member, wenn das Authentifizierungsprotokoll keinen Authentifizierungsanbieter verwendet.

dwAuthResultCode

Gibt das Ergebnis des Authentifizierungsprozesses des Authentifizierungsanbieters an. Eine erfolgreiche Authentifizierung führt zu NO_ERROR. Authentifizierungsfehlercodes für dwAuthResultCode dürfen nur von Winerror.h, Raserror.h oder Mprerror.h stammen. Ignorieren Sie dieses Feld, wenn das Authentifizierungsprotokoll keinen Authentifizierungsanbieter verwendet.

hTokenImpersonateUser

Behandeln Sie ein Identitätswechseltoken für den Benutzer, der die Authentifizierung anfordert. Dieser Member ist nur auf der Clientseite gültig. Weitere Informationen zu Identitätswechseltoken finden Sie unter Zugriffstoken.

fSuccessPacketReceived

Gibt an, dass die Authentifizierung erfolgreich war. RAS legt diesen Member auf TRUE fest, wenn der Client ein NCP-Paket (Network Control Protocol) empfängt, obwohl der Client noch kein EAP-Erfolgspaket erhalten hat. Der Wert FALSE gibt an, dass kein NCP-Paket empfangen wurde.

Das EAP-Erfolgspaket ist ein nicht bestätigtes Paket. Aus diesem Grund kann es verloren und nicht vom Server erneut erfolgen. In dieser Situation gibt der Empfang eines NCP-Pakets an, dass die Authentifizierung erfolgreich war, da der Server in die NCP-Phase von PPP übergegangen ist.

Untersuchen Sie dieses Element nur auf der Clientseite.

fDataReceivedFromInteractiveUI

Gibt an, ob Informationen über die interaktive Benutzeroberfläche verfügbar sind. Der Standardwert ist FALSE. RAS legt diesen Member auf TRUE fest, wenn der Benutzer die interaktive Benutzeroberfläche des Authentifizierungsprotokolls verlässt.

pDataFromInteractiveUI

Zeiger auf Daten, die von der interaktiven Benutzeroberfläche des Authentifizierungsprotokolls empfangen werden. Dieser Zeiger ist nicht NULL , wenn das fDataReceivedFromInteractiveUI-ElementTRUE ist und die interaktive Benutzeroberfläche tatsächlich Daten zurückgegeben hat. Andernfalls ist dieser Zeiger NULL.

Wenn kein NULL-Wert besteht, sollte das Authentifizierungsprotokoll eine Kopie der Daten in seinem eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde. Um den Arbeitsspeicher freizugeben, ruft RAS die RasEapFreeMemory-Funktion auf .

dwSizeOfDataFromInteractiveUI

Gibt die Größe der Daten in Bytes an, auf die von pDataFromInteractiveUI verwiesen wird. Wenn keine Daten von der interaktiven Benutzeroberfläche zurückgegeben werden, ist dieser Member 0.

pConnectionData

Zeiger auf Verbindungsdaten, die von der Konfigurationsbenutzerschnittstelle des Authentifizierungsprotokolls empfangen werden. Diese Daten sind nur verfügbar, wenn die PPP_EAP_INPUT-Struktur in RasEapBegin übergeben wird. Sie ist in Aufrufen von RasEapMakeMessage nicht verfügbar.

Das Authentifizierungsprotokoll sollte eine Kopie dieser Daten im eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde. Um den Arbeitsspeicher freizugeben, ruft RAS die RasEapFreeMemory-Funktion auf .

Wenn die Konfigurationsbenutzerschnittstelle des Authentifizierungsprotokolls keine Daten zurückgibt, ist dieser Member NULL.

dwSizeOfConnectionData

Gibt die Größe der Daten in Bytes an, auf die von pConnectionData verwiesen wird. Wenn pConnectionDataNULL ist, ist dieser Member 0.

pUserData

Zeiger auf Benutzerdaten, die von der RasEapGetIdentity-Funktion des Authentifizierungsprotokolls auf dem Clientcomputer empfangen wurden. Wenn das Authentifizierungsprotokoll RasEapGetIdentity nicht implementiert, verweist dieses Mitglied auf Daten aus der Registrierung für diesen Benutzer.

Diese Daten sind nur verfügbar, wenn die PPP_EAP_INPUT-Struktur in RasEapBegin übergeben wird. Sie ist in Aufrufen von RasEapMakeMessage nicht verfügbar.

Das Authentifizierungsprotokoll sollte eine Kopie dieser Daten im eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde.

Wenn die RasEapGetIdentity-Funktion nicht implementiert ist oder keine Daten zurückgegeben hat und keine Daten für den Benutzer in der Registrierung vorhanden sind, ist dieser Member NULL.

dwSizeOfUserData

Gibt die Größe der Daten in Bytes an, auf die von pUserData verwiesen wird. Wenn pUserDataNULL ist, ist dieser Member 0.

hReserved

Dieser Member ist reserviert.

guidConnectionId

isVpn

Hinweise

Die PPP_EAP_INPUT-Struktur wird von RAS in Aufrufen von RasEapBegin und RasEapMakeMessage an das Authentifizierungsprotokoll übergeben.

Die Elemente pwszIdentity und pwszPassword der PPP_EAP_INPUT-Struktur werden von der RasEapBegin-Funktion zum Abrufen von Benutzerinformationen verwendet. Das pwszPassword-Element ist nur dann ungleich NULL , wenn der fAuthenticator-MemberFALSE ist, d. h. das Authentifizierungsprotokoll wird auf dem Clientcomputer ausgeführt.

Wenn das Authentifizierungsprotokoll einen Authentifizierungsanbieter verwendet, z. B. Radius- oder Windows 2000-Domänenauthentifizierung, werden die folgenden Member für die Schnittstelle mit dem Authentifizierungsanbieter verwendet:

pUserAttributesfAuthenticationCompletedwAuthResultCode Beachten Sie, dass das Array der RAS_AUTH_ATTRIBUTE-Strukturen nur übergeben wird, wenn fAuthenticatorden Wert TRUE aufweist. Dieses Array enthält aktuelle Sitzungsinformationen wie Portbezeichner und lokale IP-Adresse.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile raseapif.h

Weitere Informationen

EAP-Strukturen

Referenz zum Erweiterbaren Authentifizierungsprotokoll

RAS_AUTH_ATTRIBUTE

RasEapBegin

RasEapFreeMemory

RasEapGetIdentity

RasEapMakeMessage