RasEapGetIdentity-Funktion (raseapif.h)

Der RAS-Verbindungs-Manager ruft die RasEapGetIdentity-Funktion auf, um Identitätsinformationen für den Benutzer abzurufen, der die Authentifizierung anfordert.

Syntax

DWORD RasEapGetIdentity(
  [in]  DWORD       dwEapTypeId,
  [in]  HWND        hwndParent,
  [in]  DWORD       dwFlags,
  [in]  const WCHAR *pwszPhonebook,
  [in]  const WCHAR *pwszEntry,
  [in]  BYTE        *pConnectionDataIn,
  [in]  DWORD       dwSizeOfConnectionDataIn,
  [in]  BYTE        *pUserDataIn,
  [in]  DWORD       dwSizeOfUserDataIn,
  [out] BYTE        **ppUserDataOut,
  [out] DWORD       *pdwSizeOfUserDataOut,
  [out] WCHAR       **ppwszIdentityOut
);

Parameter

[in] dwEapTypeId

Gibt das Authentifizierungsprotokoll an, für das die Identitätsbenutzeroberfläche aufgerufen werden soll.

[in] hwndParent

Handle bis zum übergeordneten Fenster für das Dialogfeld der Benutzeroberfläche. Wenn der dwFlags-Parameter das flag RAS_EAP_FLAG_NON_INTERACTIVE enthält, ist hwndParentNULL.

[in] dwFlags

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

Flag Bedeutung
RAS_EAP_FLAG_ROUTER
Gibt an, dass der Einwahlcomputer ein Router ist. Das Fehlen dieses Flags gibt an, dass der Einwahlcomputer ein RAS-Client ist.
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 anhand der bereitgestellten Daten zu ermitteln, sollte es den Fehlercode zurückgeben, ERROR_INTERACTIVE_MODE. Wenn dieses Flag angegeben ist, ist der hwndParent-ParameterNULL.
RAS_EAP_FLAG_LOGON
Gibt an, dass die Benutzerdaten bei der Anmeldung am lokalen System abgerufen werden, d. h. von Winlogon.exe.
RAS_EAP_FLAG_PREVIEW
Gibt an, dass der Benutzer vor dem Wählen zur Eingabe von Identitätsinformationen aufgefordert werden soll.
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_MACHINE_AUTH
Gibt an, dass der Authentifizierungsprozess Computeranmeldeinformationen für die Authentifizierung verwendet. Bei den Anmeldeinformationen kann es sich um ein Zertifikat, einen Computernamen/ein Kennwort wie im Fall von MSCHAPv2 oder um ein beliebiges anderes Mittel zur Identifizierung des Computers handeln. Wenn das Authentifizierungsprotokoll die Computerauthentifizierung nicht unterstützt, sollte der Fehler ERROR_NOT_SUPPORTED zurückgegeben werden.
RAS_EAP_FLAG_8021X_AUTH
Gibt an, dass diese Sitzung in einem drahtlosen Kontext ausgeführt wird.

[in] pwszPhonebook

Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die den vollständigen Pfad der Telefonbuchdatei (PBK) angibt. Wenn dieser Parameter NULL ist, verwendet die Funktion das Systemtelefonbuch.

[in] pwszEntry

Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung, die einen vorhandenen Eintragsnamen angibt.

[in] pConnectionDataIn

Zeiger auf die verbindungsspezifischen Daten, die derzeit im Telefonbucheintrag gespeichert sind.

[in] dwSizeOfConnectionDataIn

Gibt die Größe der verbindungsspezifischen Daten an, die derzeit im Telefonbucheintrag gespeichert sind.

[in] pUserDataIn

Zeiger auf die benutzerspezifischen Daten, die derzeit für diesen Benutzer in der Registrierung gespeichert sind.

[in] dwSizeOfUserDataIn

Gibt die Größe der benutzerspezifischen Daten an, die derzeit für diesen Benutzer in der Registrierung gespeichert sind.

[out] ppUserDataOut

Zeiger auf einen Zeiger, der bei erfolgreicher Rückgabe auf die Identitätsdaten für den Benutzer verweist. Diese Daten werden während des Aufrufs von RasEapBegin an das Authentifizierungsprotokoll im pUserData-Element von PPP_EAP_INPUT übergeben.

Das Authentifizierungsprotokoll sollte den Speicherpuffer für die Identitätsdaten zuordnen. RAS gibt diesen Arbeitsspeicher durch Aufrufen von RasEapFreeMemory frei.

[out] pdwSizeOfUserDataOut

Zeiger auf eine DWORD-Variable , die die Größe der Daten empfängt, auf die der ppUserDataOut-Parameter verweist.

[out] ppwszIdentityOut

Zeiger auf einen Zeiger, der bei erfolgreicher Rückgabe auf eine Unicode-Zeichenfolge mit NULL-Beendigung verweist, die den Benutzer identifiziert, der die Authentifizierung anfordert. Diese Zeichenfolge wird während des Aufrufs von RasEapBegin an das Authentifizierungsprotokoll im pszIdentity-Member von PPP_EAP_INPUT übergeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion nicht in der Lage war, Arbeitsspeicher für die Benutzerdaten zuzuweisen, sollte der Rückgabewert ERROR_NOT_ENOUGH_MEMORY werden.

Wenn die Funktion mit dem flag RAS_EAP_FLAG_NON_INTERACTIVE aufgerufen wird, aber eine Benutzeroberfläche aufrufen muss, um die Identität des Benutzers zu bestimmen, sollte die Funktion ERROR_INTERACTIVE_MODE zurückgeben.

Wenn die Funktion auf andere Weise fehlschlägt, sollte der Rückgabewert ein geeigneter Fehlercode von Winerror.h, Raserror.h oder Mprerror.h sein.

Hinweise

Die DLL, die RasEapGetIdentity und RasEapFreeMemory implementiert, unterstützt möglicherweise mehr als ein Authentifizierungsprotokoll. Der dwEapTypeId-Parameter gibt an, für welches Protokoll die Identitätsbenutzeroberfläche aufgerufen werden soll.

Die Protokolle IEEE 802.1X und PPP rufen RasEapGetIdentity ohne eine Implementierung von RasEapFreeMemory nicht auf.

Das Authentifizierungsprotokoll empfängt die Daten, die von RasEapGetIdentity im pUserData-Member von PPP_EAP_INPUT während RasEapBegin zurückgegeben werden. Um die Daten für diesen Benutzer in der Registrierung zu speichern, sollte das Authentifizierungsprotokoll festlegen, dass das pUserData-Element von PPP_EAP_OUTPUT auf die Daten verweist, und das fSaveUserData-Element von PPP_EAP_OUTPUT auf TRUE.

Diese Funktion wird von der RAS-Funktion RasGetEapUserIdentity aufgerufen.

Wenn RasEapGetIdentity eine Benutzeroberfläche anzeigt, muss die Benutzeroberfläche WM_COMMAND Nachrichten unterstützen, bei denen LOWORD(wParam) IDCANCEL entspricht.

Anforderungen

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

Weitere Informationen

EAP-Funktionen

Referenz zum Erweiterbaren Authentifizierungsprotokoll

Abrufen von Identitätsinformationen

PPP_EAP_INPUT

RasEapFreeMemory

RasEapMakeMessage

RasGetEapUserIdentity