structure CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)

Contient des détails sur les informations d’identification.

Syntaxe

typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
  ULONG ulAuthenticationPackage;
  GUID  clsidCredentialProvider;
  ULONG cbSerialization;
  byte  *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;

Membres

ulAuthenticationPackage

Type : ULONG

Identificateur unique du package d’authentification. Ce paramètre est requis lors de l’appel de LsaLogonUser. Dans un scénario d’interface utilisateur d’informations d’identification, cette valeur est définie avant l’envoi d’une sérialisation via SetSerialization. Il s’agit de la même valeur que la valeur du package d’authentification retournée par LsaLookupAuthenticationPackage. Les fournisseurs de contenu peuvent utiliser ce paramètre pour déterminer s’ils sont en mesure de retourner des informations d’identification pour ce package d’authentification. Les développeurs qui écrivent leur propre package d’authentification peuvent fournir leur propre valeur.

clsidCredentialProvider

Type : GUID

CLSID du fournisseur d’informations d’identification. Les fournisseurs d’informations d’identification attribuent leur propre CLSID à ce membre lors de la sérialisation. L’interface utilisateur des informations d’identification ignore ce membre.

cbSerialization

Type : ULONG

Taille, en octets, des informations d’identification pointées par rgbSerialization.

rgbSerialization

Type : octet*

Tableau d’octets contenant des informations d’identification sérialisées. Le format exact de ces données dépend du package d’authentification ciblé par un fournisseur d’informations d’identification.

Remarques

Une fois que l’utilisateur a entré des informations d’identification dans une vignette d’informations d’identification, il doit être placé dans une mémoire tampon. L’empaquetage de ces informations est appelé sérialisation et est nécessaire, que le scénario utilise une interface utilisateur d’ouverture de session ou une interface utilisateur d’informations d’identification. Le CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION définit la structure pour la sérialisation. Après la sérialisation, l’endroit où la mémoire tampon est envoyée varie selon qu’il s’agit d’une interface utilisateur d’ouverture de session ou d’un scénario d’interface utilisateur d’informations d’identification. Avec une interface utilisateur d’ouverture de session, la mémoire tampon est passée à Winlogon. Dans le scénario d’interface utilisateur des informations d’identification, cette mémoire tampon est retournée à l’application appelante, puis l’utilise pour authentifier l’utilisateur.

Important  

Même si vous implémentez une CREDENTIAL_PROVIDER_USAGE_SCENARIO de CPUS_LOGON, vous n’appelez pas directement LsaLogonUser. Cet appel est géré par le système. Vous devez simplement transmettre vos informations d’identification à Winlogon.

 
Les fournisseurs d’informations d’identification peuvent également énumérer une vignette d’informations d’identification si des informations d’identification d’entrée sont reçues de SetSerialization. Par exemple, cela est utile si un utilisateur fournit une combinaison de mot de passe utilisateur non valide. L’interface utilisateur des informations d’identification transmet les informations d’identification au fournisseur d’informations d’identification, car elles ne sont pas valides. Le fournisseur d’informations d’identification peut choisir d’afficher une vignette à l’utilisateur qui a déjà le nom d’utilisateur renseigné.

Les informations d’identification d’entrée peuvent prendre de nombreuses formes différentes. Il est important que les fournisseurs d’informations d’identification soient robustes lors de la réception d’informations d’identification sérialisées. Cela peut inclure des informations d’identification incomplètes ou partielles. Dans de nombreux cas, une information d’identification d’entrée incomplète est un indicateur du type d’informations d’identification souhaité par l’appelant. L’un des cas où ce processus est utilisé est avec les appelants qui souhaitent uniquement collecter les informations d’identification de carte à puce de l’utilisateur. Pendant le scénario d’utilisation CPUS_LOGON , le système utilise SetSerialization pour renseigner certaines des informations d’un ordinateur distant. L’interface utilisateur d’ouverture de session appelle SetSerialization zéro ou une fois chaque cycle d’énumération.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête credentialprovider.h