Freigeben über


EAP_PEER_METHOD_ROUTINES-Struktur (eapmethodpeerapis.h)

Enthält eine Reihe von Funktionszeigern auf die EAPHost-Peermethoden-APIs.

Syntax

typedef struct _EAP_PEER_METHOD_ROUTINES {
  DWORD    dwVersion;
  EAP_TYPE *pEapType;
  DWORD((EAP_ERROR **ppEapError)   * )EapPeerInitialize;
  DWORD(lags,DWORD dwSizeofConnectionData, const BYTE *pConnectionData,DWORD dwSizeofUserData, const BYTE *pUserData,HANDLE hTokenImpersonateUser,BOOL *pfInvokeUI,DWORD *pdwSizeOfUserDataOut,BYTE **ppUserDataOut,WCHAR **ppwszIdentity,EAP_ERROR **ppEapError)   * )(DWORD fEapPeerGetIdentity;
  DWORD(RD dwFlags, const EapAttributes * const pAttributeArray,HANDLE hTokenImpersonateUser,DWORD dwSizeofConnectionData,BYTE *pConnectionData,DWORD dwSizeofUserData,BYTE *pUserData,DWORD dwMaxSendPacketSize,EAP_SESSION_HANDLE *pSessionHandle,EAP_ERROR **ppEapError)   * )(DWOEapPeerBeginSession;
  DWORD(AP_SESSION_HANDLE sessionHandle,WCHAR *pwszIdentity,WCHAR *pwszPassword,EAP_ERROR **ppEapError)   * )(EEapPeerSetCredentials;
  DWORD(AP_SESSION_HANDLE sessionHandle,DWORD cbReceivePacket,EapPacket *pReceivePacket,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError)   * )(EEapPeerProcessRequestPacket;
  DWORD(AP_SESSION_HANDLE sessionHandle,DWORD *pcbSendPacket,EapPacket *pSendPacket,EAP_ERROR **ppEapError)   * )(EEapPeerGetResponsePacket;
  DWORD(EAP_SESSION_HANDLE sessionHandle,EapPeerMethodResultReason reason,EapPeerMethodResult *ppResult,EAP_ERROR **ppEapError)   * )(EapPeerGetResult;
  DWORD(P_SESSION_HANDLE sessionHandle,DWORD *dwSizeOfUIContextData,BYTE **pUIContextData,EAP_ERROR **ppEapError)   * )(EAEapPeerGetUIContext;
  DWORD(AP_SESSION_HANDLE sessionHandle,DWORD dwSizeOfUIContextData, const BYTE *pUIContextData,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError)   * )(EEapPeerSetUIContext;
  DWORD(EAP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EAP_ERROR **ppEapError)   * )(EapPeerGetResponseAttributes;
  DWORD(AP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError)   * )(EEapPeerSetResponseAttributes;
  DWORD((EAP_SESSION_HANDLE sessionHandle,EAP_ERROR **ppEapError)   * )EapPeerEndSession;
  DWORD((EAP_ERROR **ppEapError)   * )EapPeerShutdown;
} EAP_PEER_METHOD_ROUTINES;

Member

dwVersion

Die vom Implementierer definierte Strukturversion.

Hinweis Die Werte für dieses Feld werden nicht von Microsoft definiert.
 

pEapType

Ein Zeiger auf eine EAP_TYPE-Struktur , die die Anbieterinformationen zum Implementierer der APIs enthält, auf die von den Membern dieser Struktur verwiesen wird.

EapPeerInitialize

Ein Funktionszeiger für EapPeerInitialize.

pEapError

Ein Zeiger auf die EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst werden. Nach dem Verbrauch der Fehlerdaten muss dieser Arbeitsspeicher freigegeben werden, indem ein Zeiger an EapPeerFreeErrorMemory übergeben wird.

EapPeerGetIdentity

Ein Funktionszeiger für EapPeerGetIdentity.

Dwflags

Eine Kombination von EAP-Flags , die das Verhalten der EAP-Authentifizierungssitzung beschreiben.

dwSizeofConnectionData

Gibt die Größe des In pConnectionData bereitgestellten Verbindungsdatenpuffers in Bytes an.

pConnectionData

Ein Zeiger auf einen Bytepuffer, der das undurchsichtige Konfigurationsdatenblob enthält.

dwSizeOfUserData

Gibt die Größe des in pUserData bereitgestellten Benutzerdatenpuffers in Bytes an.

pUserData

Ein Zeiger auf die Benutzerdaten, die für diese Authentifizierung spezifisch sind und zum Vorabfüllen der Benutzerdaten verwendet werden. Wenn diese API zum ersten Mal aufgerufen wird oder eine neue Authentifizierungssitzung gestartet wird, ist dieser Parameter NULL. Legen Sie andernfalls diesen Parameter auf das pUserData-Element der Struktur fest, auf das der ppResult-Parameter verweist, der von EapPeerGetResult empfangen wurde.

hTokenImpersonateUser

Gibt ein Handle für das Identitätswechseltoken des authentifizierten Benutzers an. Dieses Handle ist NULL , wenn die Computerauthentifizierung ausgeführt wird. Mithilfe dieses Handles kann eine EAP-Methode die Identität des Benutzers annehmen, um benutzerspezifische Informationen wie Benutzername, Domänenname und Anmeldeinformationen abzurufen.

pfInvokeUI

Gibt TRUE zurück, wenn die Benutzeridentität und das Benutzerdatenblob nicht erfolgreich zurückgegeben werden und die Methode versucht, die Informationen vom Benutzer über das Dialogfeld "Benutzeroberfläche" zu sammeln.

pdwSizeOfUserDataOut

Gibt die Größe des ppUserDataOut-Puffers in Bytes an.

ppUserDataOut

Ein Zeiger auf einen Zeiger auf die zurückgegebenen Benutzerdaten. Die Daten werden als Eingabe pUserData an EapPeerBeginSession übergeben.

ppwszIdentity

Ein Zeiger auf die zurückgegebene Benutzeridentität. Der Zeiger wird im Identitätsantwortpaket enthalten und an den Server zurückgegeben.

ppEapError

Ein Zeiger auf den Zeiger auf eine EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerBeginSession

Ein Funktionszeiger für EapPeerBeginSession.

dwFlags

Eine Kombination von EAP-Flags , die das neue EAP-Authentifizierungssitzungsverhalten beschreiben.

pAttributeArray

Zeiger auf eine EAP_ATTRIBUTES Arraystruktur, die die EAP-Attribute der zu authentifizierden Entität angibt.

hTokenImpersonateUser

Gibt ein Handle für das Benutzerwechseltoken an, das in dieser Sitzung verwendet werden soll.

dwSizeOfConnectionData

Gibt die Größe des in pConnectionData bereitgestellten Verbindungsdatenpuffers in Bytes an.

pConnectionData

Zeiger auf einen Bytepuffer, der das undurchsichtige Konfigurationsdatenblob enthält.

dwSizeOfUserData

Gibt die Größe des in pUserData bereitgestellten Benutzerdatenpuffers in Bytes an.

pUserData

Zeiger auf einen Bytepuffer, der das undurchsichtige Benutzerdatenblob enthält.

dwMaxSendPacketSize

Gibt die maximale Größe eines während der Sitzung gesendeten EAP-Pakets in Bytes an. Wenn die -Methode ein Paket senden muss, das größer als die maximale Größe ist, muss die Methode fragmentiert und neu zusammengesetzt werden.

pSessionHandle

Zeiger auf eine EAP_SESSION_HANDLE-Struktur , die die eindeutige ID für die neue EAP-Authentifizierungssitzung auf EAPHost enthält

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die von EAPHost während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerSetCredentials

Ein Funktionszeiger für EapPeerSetCredentials.

sessionHandle

Ein Zeiger auf eine EAP_SESSION_HANDLE Struktur, die das eindeutige Handle für diese EAP-Authentifizierungssitzung auf dem EAPHost-Server enthält. Dieses Handle wird im pSessionHandle-Parameter in einem vorherigen Aufruf von EapPeerBeginSession zurückgegeben.

pwszIdentity

Zeiger, der die Benutzeridentität angibt, für die die Anmeldeinformationen festgelegt werden sollen. Diese Benutzeridentitätszeichenfolge wird durch Aufrufen der EapPeerGetIdentity-Funktion abgerufen.

pwszPassword

Ein Zeiger, der das Klartextkennwort für die Benutzeridentität enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerProcessRequestPacket

Ein Funktionszeiger für EapPeerProcessRequestPacket.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

cbReceivePacket

Die Größe des Anforderungspakets in Bytes, das in pReceivePacket angegeben ist.

pReceivePacket

Zeiger auf eine EapPacket-Struktur , die das zu verarbeitende Anforderungspaket enthält.

pEapOutput

Zeiger auf eine EapPeerMethodOutput-Struktur , die die Ausgabe des Paketprozessvorgangs enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerGetResponsePacket

Ein Funktionszeiger für EapPeerGetResponsePacket.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

pcbSendPacket

Zeiger auf einen Wert, der die Größe des Puffers in Bytes enthält, der dem Antwortpaket zugeordnet ist. Bei der Rückgabe empfängt dieser Parameter einen Zeiger auf die tatsächliche Größe von pSendPacket in Bytes.

pSendPacket

Zeiger auf eine EapPacket-Struktur , die das Antwortpaket enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen vonEapPeerFreeErrorMemory freigegeben werden.

EapPeerGetResult

Ein Funktionszeiger für EapPeerGetResult.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

reason

Enumerationswert, der den Ursachencode für das in ppResult zurückgegebene Authentifizierungsergebnis angibt.

ppResult

Zeiger auf eine EapHostPeerMethodResult-Struktur , die die Authentifizierungsergebnisse enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher freigegeben werden, indem ein Zeiger auf EapPeerFreeErrorMemory übergeben wird.

EapPeerGetUIContext

Ein Funktionszeiger für EapPeerGetUIContext.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

pdwSizeOfUIContextData

Zeiger auf einen Wert, der die Größe des in ppUIContextData zurückgegebenen Bytepuffers für Kontextdaten der Benutzeroberfläche angibt.

ppUIContextData

Zeiger auf eine Adresse, die einen Bytepuffer mit den kontextabhängigen Benutzeroberflächenkontextdaten aus EAPHost enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher freigegeben werden, indem ein Zeiger auf die Fehlerdaten an EapPeerFreeErrorMemory übergeben wird.

EapPeerSetUIContext

Ein Funktionszeiger für EapPeerSetUIContext.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

dwSizeOfUIContextData

Zeiger auf einen Wert, der die Größe des in pUIContextData bereitgestellten Bytepuffers für Benutzeroberflächenkontextdaten angibt.

pUIContextData

Zeiger auf eine Adresse, die einen Bytepuffer mit den neuen Benutzeroberflächenkontextdaten enthält, die auf EAPHost festgelegt werden sollen.

pEapOutput

Ein Zeiger auf eine EapPeerMethodOutput-Struktur , die die Ausgabe des Paketprozessvorgangs enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher freigegeben werden, indem ein Zeiger auf EapPeerFreeErrorMemory übergeben wird.

EapPeerGetResponseAttributes

Ein Funktionszeiger für EapPeerGetResponseAttributes.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

pAttribs

Empfängt einen Zeiger auf eine EAP_ATTRIBUTES Struktur, die ein Array von EAP-Authentifizierungsantwortattributen für den Supplicant enthält.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen vonEapPeerFreeErrorMemory freigegeben werden.

EapPeerSetResponseAttributes

Ein Funktionszeiger für EapPeerSetResponseAttributes.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung auf EAPHost enthält. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

pAttribs

Zeiger auf eine EAP_ATTRIBUTES-Struktur , die ein Array von neuen EAP-Authentifizierungsantwortattributen enthält, die für das Supplicant auf EAPHost festgelegt werden sollen.

pEapOutput

Ein Zeiger auf eine EapPeerMethodOutput-Struktur , die die vorgeschlagene Aktion angibt, die der Supplicant als Antwort auf die aktualisierten Attribute ausführen soll.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerEndSession

Ein Funktionszeiger für EapPeerEndSession.

sessionHandle

EAP_SESSION_HANDLE Wert, der das spezifische Handle für die EAP-Authentifizierungssitzung enthält, die auf EAPHost geschlossen werden soll. Dieses Handle wird durch einen vorherigen Aufruf von EapPeerBeginSession abgerufen.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher durch Aufrufen von EapPeerFreeErrorMemory freigegeben werden.

EapPeerShutdown

Ein Funktionszeiger für EapPeerShutdown.

ppEapError

Zeiger auf die Adresse einer EAP_ERROR-Struktur , die alle Fehler enthält, die während der Ausführung dieses Funktionsaufrufs ausgelöst wurden. Nach der Nutzung der Fehlerdaten muss dieser Arbeitsspeicher freigegeben werden, indem ein Zeiger auf EapPeerFreeErrorMemory übergeben wird.

Hinweise

Jede EAP-Methoden-DLL muss die folgenden APIs implementieren:

Diese APIs entsprechen Aufrufen eines Supplicants und dienen als Proxy zwischen den API-Aufrufen des Supplicants und den öffentlichen APIs, die für die EAP-Methoden-DLL verfügbar gemacht werden. Wenn also ein Supplicant einen peerbasierten EAPHost aufruft, um eine Authentifizierungssitzung einzurichten oder einen Vorgang während dieser Sitzung auszuführen, ruft EAPHost die entsprechende implementierte Funktion für die EAP-Methoden-DLL mit den bereitgestellten Parameterdaten auf. Die EAP-Methodenfunktionen werden von Zeigern auf die jeweiligen Einstiegspunkte verwaltet.

Die anderen Funktionen im EAP-Peermethoden-API-Satz werden von einem peerbasierten EAPHost ohne einen entsprechenden supplicant-Aufruf aufgerufen und für Verbindungsvalidierungs- oder Benutzeroberflächenauslösungsvorgänge verwendet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile eapmethodpeerapis.h

Weitere Informationen

EAPHost-Peermethodenstrukturen

EapPeerGetInfo