PPP_EAP_OUTPUT-Struktur (raseapif.h)
Das Authentifizierungsprotokoll verwendet die PPP_EAP_OUTPUT-Struktur, um Anforderungen und status Informationen an die Verbindungs-Manager zu übermitteln, wenn sie von Aufrufen von RasEapMakeMessage zurückgegeben werden.
Syntax
typedef struct _PPP_EAP_OUTPUT {
DWORD dwSizeInBytes;
PPP_EAP_ACTION Action;
DWORD dwAuthResultCode;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fInvokeInteractiveUI;
PBYTE pUIContextData;
DWORD dwSizeOfUIContextData;
BOOL fSaveConnectionData;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
BOOL fSaveUserData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
NgcTicketContext *pNgcKerbTicket;
BOOL fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
Member
dwSizeInBytes
Gibt die Größe dieser Struktur an.
Action
Gibt einen PPP_EAP_ACTION Wert an. Die Verbindungs-Manager führt diese Aktion im Namen des Authentifizierungsprotokolls aus.
dwAuthResultCode
Gibt an, ob die Authentifizierung erfolgreich war. Jeder nonzero-Wert für dwAuthResultCode weist auf einen Fehler hin. Der Fehlercode muss von Winerror.h, Raserror.h oder Mprerror.h stammen. Dieser Member ist nur gültig, wenn der Aktionsmember den Wert EAPACTION_Done oder EAPACTION_SendAndDone aufweist.
pUserAttributes
Zeiger auf ein optionales 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).
Dieser Member sollte auf der Authentifikatorseite festgelegt werden, wenn AktionEAPACTION_Authenticate ist oder wenn ActionEAPACTION_Done oder EAPACTION_SendAndDone ist und dwAuthResultCode 0 ist.
Wenn AktionEAPACTION_Authenticate ist, kann das Array zusätzliche Attribute enthalten, die zur Authentifizierung des Benutzers erforderlich sind, z. B. das Benutzerkennwort. Wenn das Authentifizierungsprotokoll nur den Benutzernamen übergibt, ruft RAS den Authentifizierungsanbieter nicht auf, um den Benutzer zu authentifizieren. Stattdessen übergibt RAS nur die aktuellen Attribute für den Benutzer.
Wenn ActionEAPACTION_Done oder EAPACTION_SendAndDone ist und dwAuthResultCode null ist, kann das Array zusätzliche Attribute enthalten, die dem Benutzer zugewiesen werden sollen. Diese Attribute überschreiben alle Attribute desselben Typs, die vom Authentifizierungsanbieter zurückgegeben werden.
Das Authentifizierungsprotokoll gibt diesen Arbeitsspeicher in seiner RasEapEnd-Funktion frei.
fInvokeInteractiveUI
Gibt an, ob RAS die interaktive Benutzeroberfläche des Authentifizierungsprotokolls aufrufen soll. Wenn das Authentifizierungsprotokoll diesen Member auf TRUE festlegt, ruft RAS die interaktive Benutzeroberfläche auf, indem die rasEapInvokeInteractiveUI-Funktion aufgerufen wird, die vom Authentifizierungsprotokoll bereitgestellt wird.
pUIContextData
Zeiger auf Kontextdaten, die RAS im Aufruf von RasEapInvokeInteractiveUI übergeben soll. Das Authentifizierungsprotokoll sollte diesen Arbeitsspeicher bei der Implementierung von RasEapEnd freigeben.
dwSizeOfUIContextData
Gibt die Größe der Kontextdaten an, die RAS im Aufruf von RasEapInvokeInteractiveUI übergeben soll.
fSaveConnectionData
Gibt an, ob RAS die Informationen speichern soll, auf die vom pConnectionData-Member verwiesen wird. Wenn fSaveConnectionDataTRUE ist, speichert RAS die Daten im Telefonbuch. Nur gültig für den Prozess, der authentifiziert wird.
pConnectionData
Identifiziert verbindungsspezifische Daten, d. h. Daten, die nicht für einen bestimmten Benutzer spezifisch sind. Wenn das fSaveConnectionData-ElementTRUE ist, speichert RAS die Verbindungsdaten im Telefonbuch. Das Authentifizierungsprotokoll sollte den Speicher freigeben, der während des Aufrufs von RasEapEnd von diesen Daten belegt wird.
dwSizeOfConnectionData
Gibt die Größe der Daten in Bytes an, auf die vom pConnectionData-Member verwiesen wird .
fSaveUserData
Gibt an, ob RAS die Benutzerdaten speichern soll, auf die vom pUserData-Member verwiesen wird. Wenn dieser Parameter TRUE ist, speichert RAS die benutzerspezifischen Daten in der Registrierung unter HKEY_CURRENT_USER.
pUserData
Zeiger auf Benutzerdaten, die RAS in der Registrierung speichern soll. RAS speichert diese Daten in der Registrierung unter HKEY_CURRENT_USER. Das Authentifizierungsprotokoll sollte diesen Arbeitsspeicher während des Aufrufs von RasEapEnd freigeben.
dwSizeOfUserData
Gibt die Größe der Daten in Bytes an, auf die von pUserData verwiesen wird.
pNgcKerbTicket
fSaveToCredMan
Hinweise
Verwenden Sie die RasEapMakeMessage-Funktion, um die PPP_EAP_OUTPUT-Struktur zwischen dem Authentifizierungsprotokoll und dem Verbindungs-Manager zu übergeben.
Das Authentifizierungsprotokoll kann die PPP_EAP_OUTPUT-Struktur verwenden, um die MPPE-Sitzungsschlüssel (Point-to-Point Encryption) von Microsoft zurückzugeben. Das Authentifizierungsprotokoll muss die Sitzungsschlüssel im Wertfeld eines Subattributs platzieren, das im Wertfeld eines Attributs vom Typ raatVendorSpecific enthalten ist (siehe RAS_AUTH_ATTRIBUTE_TYPE). Das Sub-Attribut sollte eine Vendor-ID von 311 (Microsoft) und Vendor-Type von MS-MPPE-Recv-Keys (17) und MS-MPPE-Send-Keys (16) aufweisen. Das Authentifizierungsprotokoll muss festlegen, dass der pUserAttributes-Member auf das raatVendorSpecific-Attribut verweist, und das Aktionselement auf EAPACTION_Done oder EAPACTION_SendAndDone festlegen. Weitere Informationen zum Format des MPPE-Unterattributes finden Sie unter Microsoft Vendor-specific RADIUS Attributes. Weitere Informationen zu Attributformaten finden Sie unter RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE und RFC 2865.
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 |