Freigeben über


CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION-Struktur (credentialprovider.h)

Enthält Details zu Anmeldeinformationen.

Syntax

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

Member

ulAuthenticationPackage

Typ: ULONG

Der eindeutige Bezeichner des Authentifizierungspakets. Dieser Parameter ist erforderlich, wenn LsaLogonUser aufgerufen wird. In einem Szenario mit der Benutzeroberfläche für Anmeldeinformationen wird dieser Wert festgelegt, bevor eine Serialisierung über SetSerialization gesendet wird. Dies entspricht dem Wert des Authentifizierungspakets, der von LsaLookupAuthenticationPackage zurückgegeben wird. Inhaltsanbieter können diesen Parameter verwenden, um zu bestimmen, ob sie Anmeldeinformationen für dieses Authentifizierungspaket zurückgeben können. Entwickler, die ihr eigenes Authentifizierungspaket schreiben, können ihren eigenen Wert angeben.

clsidCredentialProvider

Typ: GUID

Die CLSID des Anmeldeinformationsanbieters. Anmeldeinformationsanbieter weisen diesem Member während der Serialisierung ihre eigene CLSID zu. Die Benutzeroberfläche für Anmeldeinformationen ignoriert diesen Member.

cbSerialization

Typ: ULONG

Die Größe der Anmeldeinformationen in Bytes, auf die von rgbSerialization verwiesen wird.

rgbSerialization

Typ: byte*

Ein Bytearray, das serialisierte Anmeldeinformationen enthält. Das genaue Format dieser Daten hängt vom Authentifizierungspaket ab, auf das ein Anmeldeinformationsanbieter abzielt.

Hinweise

Nachdem der Benutzer Anmeldeinformationen in eine Kachel für Anmeldeinformationen eingegeben hat, muss diese in einen Puffer eingefügt werden. Das Packen dieser Informationen wird als Serialisierung bezeichnet und ist unabhängig davon erforderlich, ob das Szenario eine Anmelde-Benutzeroberfläche oder eine Benutzeroberfläche für Anmeldeinformationen verwendet. Die CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION definiert die Struktur für die Serialisierung. Nach der Serialisierung hängt der Speicherort des Puffers davon ab, ob es sich um ein Anmeldebenutzeroberflächen- oder Anmeldeinformations-UI-Szenario handelt. Bei einer Anmelde-Benutzeroberfläche wird der Puffer an Winlogon übergeben. Im Szenario mit der Benutzeroberfläche für Anmeldeinformationen wird dieser Puffer an die aufrufende Anwendung zurückgegeben, die ihn dann zur Authentifizierung des Benutzers verwendet.

Wichtig  

Auch wenn Sie eine CREDENTIAL_PROVIDER_USAGE_SCENARIOCPUS_LOGON implementieren, rufen Sie LsaLogonUser nicht direkt auf. Dieser Aufruf wird vom System verarbeitet. Sie müssen lediglich Ihre Anmeldeinformationen an Winlogon übergeben.

 
Anmeldeinformationsanbieter können auch eine Kachel für Anmeldeinformationen aufzählen, wenn eine Eingabeanmeldeinformation von SetSerialization empfangen wird. Ein Beispiel, in dem dies nützlich ist, ist, wenn ein Benutzer eine ungültige Kombination aus Benutzer-Kennwort bereitstellt. Die Benutzeroberfläche für Anmeldeinformationen übergibt die Anmeldeinformationen zurück an den Anmeldeinformationsanbieter, da sie ungültig sind. Der Anmeldeinformationsanbieter kann dem Benutzer eine Kachel anzeigen, auf der der Benutzername bereits ausgefüllt ist.

Eingabeanmeldeinformationen können viele verschiedene Formen annehmen. Es ist wichtig, dass Anmeldeinformationsanbieter beim Empfangen serialisierter Anmeldeinformationen robust sind. Dies kann unvollständige oder teilweise Anmeldeinformationen umfassen. In vielen Fällen ist eine unvollständige Eingabeanmeldeinformation ein Hinweis darauf, welche Art von Anmeldeinformationen der Aufrufer möchte. Ein Fall, in dem dieser Prozess verwendet wird, ist mit Anrufern, die nur smarte Karte Anmeldeinformationen vom Benutzer sammeln möchten. Während des CPUS_LOGON Verwendungsszenarios verwendet das System SetSerialization , um einige der Informationen von einem Remotecomputer einzugeben. Die Anmeldeoberfläche ruft SetSerialization null oder einmal pro Enumerationszyklus auf.

Anforderungen

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