Partager via


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 qu’une sérialisation ne soit envoyée 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 pendant 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, elles doivent être placées 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’emplacement où la mémoire tampon est envoyée dépend s’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 de connexion, 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 qui l’utilise ensuite 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. Il vous suffit de passer 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. Un exemple où cela est utile est si un utilisateur fournit une combinaison utilisateur-mot de passe 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 pour l’utilisateur dont le nom d’utilisateur est déjà renseigné.

Les informations d’identification d’entrée peuvent prendre différentes formes. 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, les informations d’identification d’entrée incomplètes sont un indicateur du type d’informations d’identification souhaitées par l’appelant. L’un des cas où ce processus est utilisé concerne les appelants qui souhaitent uniquement collecter des informations d’identification de carte intelligentes auprès de l’utilisateur. Pendant le scénario d’utilisation CPUS_LOGON , le système utilise SetSerialization pour renseigner certaines informations à partir d’un ordinateur distant. L’interface utilisateur de connexion appelle SetSerialization zéro ou une fois chaque cycle d’énumération.

Configuration requise

Condition requise Valeur
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