Partager via


EapHostPeerBeginSession, fonction (eappapis.h)

Démarre une session d’authentification EAP. Si la fonction EapHostPeerBeginSession réussit, l’appelant doit également appeler EapHostPeerEndSession pour mettre fin à la session d’authentification. Cette dernière fonction doit être appelée que des fonctions autres que EapHostPeerBeginSession réussissent ou échouent.

Si une nouvelle authentification est requise, quelle que soit la raison, l’interface représentée par le paramètre pConnectionId est désinscrit. Dans les cas où pConnectionId est désinscrit, vous devez également appeler EapHostPeerClearConnection pour supprimer la connexion.

N’appelez jamais EapHostPeerBeginSession sur une interface sans appeler EapHostPeerEndSession. Une seule session d’authentification peut être active sur l’interface spécifiée par pConnectionId.

Syntaxe

DWORD EapHostPeerBeginSession(
  [in]  DWORD                       dwFlags,
  [in]  EAP_METHOD_TYPE             eapType,
  [in]  const EapAttributes * const pAttributeArray,
  [in]  HANDLE                      hTokenImpersonateUser,
  [in]  DWORD                       dwSizeofConnectionData,
  [in]  const BYTE * const          pConnectionData,
  [in]  DWORD                       dwSizeofUserData,
  [in]  const BYTE * const          pUserData,
  [in]  DWORD                       dwMaxSendPacketSize,
  [in]  const GUID * const          pConnectionId,
  [in]  NotificationHandler         func,
  [in]  void                        *pContextData,
  [out] EAP_SESSIONID               *pSessionId,
  [out] EAP_ERROR                   **ppEapError
);

Paramètres

[in] dwFlags

Combinaison d’indicateurs EAP qui décrivent le nouveau comportement de session d’authentification EAP.

[in] eapType

Structure EAP_METHOD_TYPE qui spécifie le type d’authentification EAP à utiliser pour cette session.

[in] pAttributeArray

Pointeur vers une structure EapAttributes qui spécifie les attributs EAP de l’entité à authentifier.

[in] hTokenImpersonateUser

Gérez le jeton d’emprunt d’identité utilisateur à utiliser dans cette session.

[in] dwSizeofConnectionData

Taille, en octets, de la mémoire tampon de données de connexion fournie dans pConnectionData.

[in] pConnectionData

Décrit la configuration utilisée pour l’authentification. Les données de connexion NULL sont considérées comme valides. La méthode doit fonctionner avec la configuration par défaut.

[in] dwSizeofUserData

Taille, en octets, de la mémoire tampon de données utilisateur fournie dans pUserData.

[in] pUserData

Pointeur vers une mémoire tampon d’octets qui contient l’objet BLOB de données utilisateur opaques contenant les données utilisateur retournées par la fonction EapPeerGetIdentity . Les données utilisateur peuvent inclure des informations d’identification ou des certificats utilisés pour l’authentification. pUserData peut être NULL. L’interprétation d’un pointeur NULL dépend de l’implémentation d’une méthode. Les données utilisateur se composent des informations d’identification de l’utilisateur ou de la machine utilisées pour l’authentification. En général, les données utilisateur dépendent des données de configuration.

Si EAP_FLAG_PREFER_ALT_CREDENTIALS est indiqué dans dwflags, les informations d’identification passées à EapPeerBeginSession sont préférées à toutes les autres formes de récupération d’informations d’identification, même si les données de configuration passées dans pConnectionData demandent un mode de récupération des informations d’identification différent. Si la transmission d’informations d’identification dans EapPeerBeginSession échoue, EAPHost recourt à la récupération des informations d’identification spécifiques à une méthode, auquel cas les informations d’identification peuvent être obtenues à partir d’un fichier, d’une connexion Windows ou d’un magasin de certificats, par exemple.

L’auteur de la méthode EAP définit à la fois les informations d’identification par défaut et les autres informations d’identification. Par exemple, dans le cas de EAP-MSCHAPv2 les informations d’identification par défaut sont les informations d’identification Windows obtenues à partir de winlogon, et les autres informations d’identification sont les informations d’identification (nom d’utilisateur, mot de passe, domaine) passées dans pUserData.

[in] dwMaxSendPacketSize

Taille maximale, en octets, d’un paquet EAP qui peut être envoyé pendant la session.

[in] pConnectionId

Pointeur vers une valeur GUID qui identifie de manière unique l’interface réseau logique sur laquelle l’authentification du demandeur aura lieu. Si le demandeur recherche une nouvelle authentification après une modification d’intégrité NAP, il doit fournir un GUID unique. Le paramètre doit être NULL lorsque cette fonction est appelée par une méthode de tunneling pour démarrer sa méthode interne. Lorsque le paramètre pConnectionId a la valeur NULL, les paramètres func et pContextData sont ignorés.

[in] func

Pointeur de fonction NotificationHandler qui fournit le rappel utilisé par EAPHost pour avertir le demandeur quand une nouvelle authentification est nécessaire.

Si le gestionnaire de fonction est NULL, le paramètre pContextData est ignoré. Si le gestionnaire de fonction est NULL, cela signifie également que l’appelant n’est pas intéressé par la notification de modification SoH du client d’application de la quarantaine EAP (QEC).

Le code suivant montre un appel de rappel NotificationHandler .

func(*pConnectionId, pContextData);

[in] pContextData

Pointeur vers les données de contexte de ré-authentification que le demandeur associera à la connexion quand func est appelé. Ce paramètre peut être NULL.

[out] pSessionId

Pointeur vers une structure EAP_SESSIONID qui contient le handle unique pour cette session d’authentification EAP sur le serveur EAPHost.

[out] ppEapError

Pointeur vers l’adresse d’une structure de EAP_ERROR . L’adresse doit être définie sur NULL avant d’appeler cette fonction. Si des données d’erreur sont disponibles, un pointeur vers l’adresse d’une structure de EAP_ERROR qui contient les erreurs générées pendant l’exécution de cet appel de fonction est reçu. Après avoir utilisé les données d’erreur, libérez cette mémoire en appelant EapHostPeerFreeEapError.

Valeur de retour

None

Notes

Si un demandeur EAPHost participe à NAP, il répond aux modifications de l’état de son intégrité réseau. Si cet état change, le demandeur doit alors lancer une session de réauthentification comme suit.

  • S’il existe une session active lors de la réauthentification, le demandeur doit supprimer la session active en appelant EapHostPeerEndSession, puis démarrer une nouvelle session en appelant EapHostPeerBeginSession.
  • S’il n’y a pas de session en cours avec ré-authentification, ou si la session précédente a déjà été terminée en appelant EapHostPeerEndSession, le demandeur n’a besoin de démarrer une nouvelle session qu’en appelant EapHostPeerBeginSession.
L’appel à EapHostPeerBeginSession pour établir la session de réauthentification peut être effectué à partir du rappel spécifié dans le paramètre func et appelé lorsque l’état d’intégrité change. Cette fonction de rappel indique au demandeur de supprimer l’authentification réseau associée au GUID et de s’authentifier à nouveau.

Une connexion peut être conservée sur plusieurs sessions, car EapHostPeerBeginSession peut fournir un GUID valide pour inscrire la connexion. Lorsque EapHostPeerEndSession est appelé, seule la session active est terminée. Étant donné que l’inscription avec le GUID n’est pas terminée, l’inscription d’origine par EapHostPeerBeginSession reste intacte. Par conséquent, l’inscription est effective sur plusieurs sessions.

Note L’inscription de la connexion consiste à fournir un GUID valide et un pointeur de fonction de rappel valide.
 

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête eappapis.h
Bibliothèque Eappprxy.lib
DLL Eappprxy.dll

Voir aussi

EAPHost Supplicant Run-time Functions

EapHostPeerClearConnection

EapHostPeerEndSession

Authentification unique et PLAP