Freigeben über


CREDENTIALW-Struktur (wincred.h)

Die CREDENTIAL--Struktur enthält eine einzelne Anmeldeinformation.

Syntax

typedef struct _CREDENTIALW {
  DWORD                  Flags;
  DWORD                  Type;
#if ...
  wchar_t                *TargetName;
#else
  LPWSTR                 TargetName;
#endif
#if ...
  wchar_t                *Comment;
#else
  LPWSTR                 Comment;
#endif
  FILETIME               LastWritten;
  DWORD                  CredentialBlobSize;
  LPBYTE                 CredentialBlob;
  DWORD                  Persist;
  DWORD                  AttributeCount;
  PCREDENTIAL_ATTRIBUTEW Attributes;
#if ...
  wchar_t                *TargetAlias;
#else
  LPWSTR                 TargetAlias;
#endif
#if ...
  wchar_t                *UserName;
#else
  LPWSTR                 UserName;
#endif
} CREDENTIALW, *PCREDENTIALW;

Angehörige

Flags

Ein Bitelement, das Merkmale der Anmeldeinformationen identifiziert. Nicht definierte Bits sollten als Null initialisiert und andernfalls nicht geändert werden, um zukünftige Verbesserungen zu ermöglichen.

Wert Bedeutung
CRED_FLAGS_PROMPT_NOW
2 (0x2)
Bitsatz, wenn die Anmeldeinformationen die CredentialBlob- nicht beibehalten und die Anmeldeinformationen während dieser Anmeldesitzung nicht geschrieben wurden. Dieses Bit wird bei Eingaben ignoriert und automatisch festgelegt, wenn abgefragt wird.

Wenn Typ-CRED_TYPE_DOMAIN_CERTIFICATEist, wird die CredentialBlob- nicht für Anmeldesitzungen beibehalten, da die PIN eines Zertifikats sehr vertrauliche Informationen ist. Wenn die Anmeldeinformationen in den Anmeldeinformations-Manager geschrieben werden, wird die PIN an den CSP übergeben, der dem Zertifikat zugeordnet ist. Der CSP erzwingt eine PIN-Aufbewahrungsrichtlinie, die für das Zertifikat geeignet ist.

Wenn Typ-CRED_TYPE_DOMAIN_PASSWORD oder CRED_TYPE_DOMAIN_CERTIFICATEist, schlägt ein Authentifizierungspaket immer einen Authentifizierungsversuch fehl, wenn Anmeldeinformationen verwendet werden, die als CRED_FLAGS_PROMPT_NOWgekennzeichnet sind. Die Anwendung (in der Regel über die Tastenring-UI) fordert den Benutzer zur Eingabe des Kennworts auf. Die Anwendung speichert die Anmeldeinformationen und ruft die Authentifizierung erneut auf. Da die Anmeldeinformationen kürzlich geschrieben wurden, erhält das Authentifizierungspaket jetzt eine Anmeldeinformation, die nicht als CRED_FLAGS_PROMPT_NOW markiert ist.

CRED_FLAGS_USERNAME_TARGET
4 (0x4)
Bit wird festgelegt, wenn für diese Anmeldeinformationen ein TargetName Member auf denselben Wert festgelegt ist wie der UserName Member. Eine solche Anmeldeinformation ist eine zum Speichern der CredentialBlob- für einen bestimmten Benutzer. Weitere Informationen finden Sie in der funktion CredMarshalCredential.

Dieses Bit kann nur angegeben werden, wenn TypeCRED_TYPE_DOMAIN_PASSWORD oder CRED_TYPE_DOMAIN_CERTIFICATEist.

Type

Der Typ der Anmeldeinformationen. Dieses Element kann nicht geändert werden, nachdem die Anmeldeinformationen erstellt wurden. Die folgenden Werte sind gültig.

Wert Bedeutung
CRED_TYPE_GENERIC
1 (0x1)
Die Anmeldeinformationen sind generische Anmeldeinformationen. Die Anmeldeinformationen werden nicht von einem bestimmten Authentifizierungspaket verwendet. Die Anmeldeinformationen werden sicher gespeichert, haben aber keine anderen wesentlichen Merkmale.
CRED_TYPE_DOMAIN_PASSWORD
2 (0x2)
Die Anmeldeinformationen sind Kennwortanmeldeinformationen und sind spezifisch für die Authentifizierungspakete von Microsoft. Die NTLM-, Kerberos- und Negotiate-Authentifizierungspakete verwenden diese Anmeldeinformationen automatisch beim Herstellen einer Verbindung mit dem benannten Ziel.
CRED_TYPE_DOMAIN_CERTIFICATE
3 (0x3)
Die Anmeldeinformationen sind Zertifikatanmeldeinformationen und sind spezifisch für die Authentifizierungspakete von Microsoft. Die Kerberos-, Negotiate- und Schannel-Authentifizierungspakete verwenden diese Anmeldeinformationen automatisch beim Herstellen einer Verbindung mit dem benannten Ziel.
CRED_TYPE_DOMAIN_VISIBLE_PASSWORD
4 (0x4)
Dieser Wert wird nicht mehr unterstützt.

Windows Server 2003 und Windows XP: Die Anmeldeinformationen sind Kennwortanmeldeinformationen und sind spezifisch für Authentifizierungspakete von Microsoft. Das Passport-Authentifizierungspaket verwendet diese Anmeldeinformationen automatisch beim Herstellen einer Verbindung mit dem benannten Ziel.

Weitere Werte werden in Zukunft definiert. Anwendungen sollten geschrieben werden, um Anmeldeinformationstypen zuzulassen, die sie nicht verstehen.

CRED_TYPE_GENERIC_CERTIFICATE
5 (0x5)
Die Anmeldeinformationen sind Zertifikatanmeldeinformationen, die ein generisches Authentifizierungspaket sind.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRED_TYPE_DOMAIN_EXTENDED
6 (0x6)
Die Anmeldeinformationen werden von erweiterten Aushandlungspaketen unterstützt.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRED_TYPE_MAXIMUM
7 (0x7)
Die maximale Anzahl der unterstützten Anmeldeinformationstypen.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRED_TYPE_MAXIMUM_EX
CRED_TYPE_MAXIMUM+1000
Die erweiterte maximale Anzahl unterstützter Anmeldeinformationstypen, mit denen jetzt neue Anwendungen auf älteren Betriebssystemen ausgeführt werden können.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

TargetName

Der Name der Anmeldeinformationen. Die TargetName- und Typ Member identifizieren die Anmeldeinformationen eindeutig. Dieses Element kann nicht geändert werden, nachdem die Anmeldeinformationen erstellt wurden. Stattdessen sollten die Anmeldeinformationen mit dem alten Namen gelöscht und die Anmeldeinformationen mit dem neuen Namen erstellt werden.

Wenn Typ-CRED_TYPE_DOMAIN_PASSWORD oder CRED_TYPE_DOMAIN_CERTIFICATEist, identifiziert dieses Element den Server oder server, für den die Anmeldeinformationen verwendet werden sollen. Das Element ist entweder ein NetBIOS- oder DNS-Servername, ein DNS-Hostnamensuffix, das ein Platzhalterzeichen, einen NetBIOS- oder DNS-Domänennamen enthält, der eine Platzhalterzeichensequenz oder ein Sternchen enthält.

Wenn TargetName ein DNS-Hostname ist, kann das TargetAlias Mitglied der NetBIOS-Name des Hosts sein.

Wenn die TargetName ein DNS-Hostnamensuffix ist, das ein Platzhalterzeichen enthält, ist die äußerst linke Bezeichnung des DNS-Hostnamens ein Sternchen (*), das angibt, dass der Zielname ein beliebiger Server ist, dessen Name auf dem angegebenen Namen endet, z. B. *.microsoft.com.

Wenn der TargetName ein Domänenname ist, der eine Platzhalterzeichensequenz enthält, ist die Syntax der Domänenname, gefolgt von einem umgekehrten Schrägstrich und Sternchen (\*), der angibt, dass der Zielname ein beliebiger Server ist, der Mitglied der benannten Domäne (oder des Bereichs) ist.

Wenn TargetName ein DNS-Domänenname ist, der eine Platzhalterzeichensequenz enthält, kann das TargetAlias Mitglied ein NetBIOS-Domänenname sein, der eine Platzhaltersequenz für dieselbe Domäne verwendet.

Wenn TargetName- eine DFS-Freigabe angibt, z. B. DfsRoot\DfsShare, stimmt diese Anmeldeinformation mit der jeweiligen DFS-Freigabe überein, und alle Server, die über diese DFS-Freigabe erreicht wurden.

Wenn TargetName- ein einzelnes Sternchen (*) ist, entspricht diese Anmeldeinformation jedem Servernamen.

Wenn TargetName- CRED_SESSION_WILDCARD_NAME ist, entspricht diese Anmeldeinformation einem beliebigen Servernamen. Diese Anmeldeinformationen entsprechen vor einem einzelnen Sternchen und sind nur gültig, wenn PersistCRED_PERSIST_SESSIONist. Die Anmeldeinformationen können von Anwendungen festgelegt werden, die die Standardanmeldeinformationen vorübergehend außer Kraft setzen möchten.

Dieses Element darf nicht länger als CRED_MAX_DOMAIN_TARGET_NAME_LENGTH (337) Zeichen sein.

Wenn der Typ- CRED_TYPE_GENERIC ist, sollte dieser Member den Dienst identifizieren, der die Anmeldeinformationen zusätzlich zum tatsächlichen Ziel verwendet. Microsoft schlägt vor, dass der Name dem Namen des Unternehmens vorangestellt wird, das den Dienst implementiert. Microsoft verwendet das Präfix "Microsoft". Dienste, die von Microsoft geschrieben wurden, sollten ihren Dienstnamen anfügen, z. B. Microsoft_RAS_TargetName. Dieses Element darf nicht länger als CRED_MAX_GENERIC_TARGET_NAME_LENGTH (32767) Zeichen sein.

Bei diesem Element wird die Groß-/Kleinschreibung nicht beachtet.

Comment

Ein Zeichenfolgenkommentar des Benutzers, der diese Anmeldeinformationen beschreibt. Dieses Element darf nicht länger als CRED_MAX_STRING_LENGTH (256) Zeichen sein.

LastWritten

Die Zeit in koordinierter Weltzeit (Greenwich Mean Time) der letzten Änderung der Anmeldeinformationen. Bei Schreibvorgängen wird der Wert dieses Elements ignoriert.

CredentialBlobSize

Die Größe des CredentialBlob Mitglieds in Byte. Dieses Element darf nicht größer als CRED_MAX_CREDENTIAL_BLOB_SIZE (5*512)-Bytes sein.

CredentialBlob

Geheime Daten für die Anmeldeinformationen. Das CredentialBlob Mitglied kann sowohl gelesen als auch geschrieben werden.

Wenn der Type Member CRED_TYPE_DOMAIN_PASSWORDist, enthält dieses Element das Unicode-Kennwort für UserName. Die CredentialBlob- und CredentialBlobSize Member enthalten kein nachfolgendes Nullzeichen. Für CRED_TYPE_DOMAIN_PASSWORDkann dieses Mitglied nur von den Authentifizierungspaketen gelesen werden.

Wenn der Type Member CRED_TYPE_DOMAIN_CERTIFICATEist, enthält dieses Element die eindeutige Unicode-PIN für UserName. Die CredentialBlob- und CredentialBlobSize Member enthalten kein nachfolgendes Nullzeichen. Außerdem kann dieses Mitglied nur von den Authentifizierungspaketen gelesen werden.

Wenn der Type Member CRED_TYPE_GENERICist, wird dieses Element von der Anwendung definiert.

Es wird erwartet, dass Die Anmeldeinformationen portierbar sind. Anwendungen sollten sicherstellen, dass die Daten in CredentialBlob portierbar sind. Die Anwendung definiert den Byte-Endian und die Ausrichtung der Daten in CredentialBlob.

Persist

Definiert die Persistenz dieser Anmeldeinformationen. Dieses Mitglied kann gelesen und geschrieben werden.

Wert Bedeutung
CRED_PERSIST_SESSION
1 (0x1)
Die Anmeldeinformationen bleiben für die Lebensdauer der Anmeldesitzung erhalten. Es ist für andere Anmeldesitzungen dieses Benutzers nicht sichtbar. Es ist nicht vorhanden, nachdem sich dieser Benutzer abmeldet und wieder aktiviert ist.
CRED_PERSIST_LOCAL_MACHINE
2 (0x2)
Die Anmeldeinformationen bleiben für alle nachfolgenden Anmeldesitzungen auf diesem Computer erhalten. Es ist für andere Anmeldesitzungen dieses Benutzers auf diesem Computer sichtbar und für Anmeldesitzungen für diesen Benutzer auf anderen Computern nicht sichtbar.

Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Starter und Windows XP Home Edition: Dieser Wert wird nicht unterstützt.

CRED_PERSIST_ENTERPRISE
3 (0x3)
Die Anmeldeinformationen bleiben für alle nachfolgenden Anmeldesitzungen auf diesem Computer erhalten. Es ist für andere Anmeldesitzungen dieses Benutzers auf diesem Computer und für die Anmeldung für diesen Benutzer auf anderen Computern sichtbar.

Diese Option kann als lokal gespeicherte Anmeldeinformationen implementiert werden, wenn der Administrator oder Benutzer das Benutzerkonto so konfiguriert, dass kein roamingfähiger Zustand vorhanden ist. Wenn der Benutzer beispielsweise kein Roamingprofil hat, bleiben die Anmeldeinformationen nur lokal erhalten.

Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Starter und Windows XP Home Edition: Dieser Wert wird nicht unterstützt.

AttributeCount

Die Anzahl der anwendungsdefinierten Attribute, die den Anmeldeinformationen zugeordnet werden sollen. Dieses Mitglied kann gelesen und geschrieben werden. Der Wert darf nicht größer als CRED_MAX_ATTRIBUTES (64) sein.

Attributes

Anwendungsdefinierte Attribute, die den Anmeldeinformationen zugeordnet sind. Dieses Mitglied kann gelesen und geschrieben werden.

TargetAlias

Alias für das element TargetName. Dieses Mitglied kann gelesen und geschrieben werden. Er darf nicht länger als CRED_MAX_STRING_LENGTH (256) Zeichen sein.

Wenn die Anmeldeinformationen TypCRED_TYPE_GENERICsind, kann dieses Element nichtNULL-sein, der Anmeldeinformations-Manager ignoriert jedoch das Element.

UserName

Der Benutzername des Kontos, das zum Herstellen einer Verbindung mit TargetName-verwendet wird.

Wenn die Anmeldeinformationen TypCRED_TYPE_DOMAIN_PASSWORDsind, kann es sich um einen DomainName\UserName oder einen UPN handeln.

Wenn die Anmeldeinformationen TypCRED_TYPE_DOMAIN_CERTIFICATEsind, muss es sich bei diesem Element um einen marshallierten Zertifikatverweis sein, der durch Aufrufen von CredMarshalCredential mit einer CertCredential erstellt wurde.

Wenn die Anmeldeinformationen TypCRED_TYPE_GENERICsind, kann dieses Element nichtNULL-sein, der Anmeldeinformations-Manager ignoriert jedoch das Element.

Dieses Element darf nicht länger als CRED_MAX_USERNAME_LENGTH (513) Zeichen sein.

Bemerkungen

Anmerkung

Der wincred.h-Header definiert CREDENTIAL als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Header- wincred.h