CredWriteA-Funktion (wincred.h)
Die CredWrite-Funktion erstellt neue Anmeldeinformationen oder ändert vorhandene Anmeldeinformationen im Anmeldeinformationssatz des Benutzers. Die neuen Anmeldeinformationen sind der Anmeldesitzung des aktuellen Tokens zugeordnet. Für das Token darf die Sicherheits-ID (SID) des Benutzers nicht deaktiviert sein.
Syntax
BOOL CredWriteA(
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
Parameter
[in] Credential
Ein Zeiger auf die zu schreibende CREDENTIAL-Struktur .
[in] Flags
Flags, die den Vorgang der Funktion steuern. Das folgende Flag ist definiert.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.
Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Rufen Sie die GetLastError-Funktion auf, um einen spezifischeren status Code abzurufen. Die folgenden status Codes können zurückgegeben werden.
Beim Schreiben einer CRED_TYPE_CERTIFICATE Anmeldeinformationen können weitere Fehler der intelligenten Karte zurückgegeben werden.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Anmeldesitzung ist nicht vorhanden, oder dieser Anmeldesitzung sind keine Anmeldeinformationen zugeordnet. Netzwerkanmeldungssitzungen verfügen nicht über einen zugeordneten Anmeldeinformationssatz. |
|
Bestimmte Felder können in vorhandenen Anmeldeinformationen nicht geändert werden. Dieser Fehler wird zurückgegeben, wenn ein Feld nicht mit dem Wert in einem geschützten Feld der vorhandenen Anmeldeinformationen übereinstimmt. |
|
Für den Flags-Parameter wurde ein ungültiger Wert angegeben. |
|
Das UserName-Element der in Credential übergebenen Struktur ist ungültig. Eine Beschreibung der gültigen Benutzernamensyntax finden Sie in der Definition dieses Elements. |
|
CRED_PRESERVE_CREDENTIAL_BLOB wurde angegeben, und es sind keine Anmeldeinformationen mit demselben TargetName und Type vorhanden. |
|
Für die CRED_TYPE_CERTIFICATE Anmeldeinformationen, die geschrieben werden, muss der Smart Karte Reader verfügbar sein. |
|
Ein CRED_TYPE_CERTIFICATE Anmeldeinformationen, die geschrieben werden, erfordert das Einfügen des intelligenten Karte. |
|
Die falsche PIN wurde für die CRED_TYPE_CERTIFICATE geschriebenen Anmeldeinformationen angegeben. |
Hinweise
Diese Funktion erstellt Anmeldeinformationen, wenn keine Anmeldeinformationen mit dem angegebenen TargetName und Type vorhanden sind. Wenn anmeldeinformationen mit dem angegebenen TargetName und Type vorhanden sind, ersetzen die neuen angegebenen Anmeldeinformationen den vorhandenen.
Wenn diese Funktion einen CRED_TYPE_CERTIFICATE Anmeldeinformationen schreibt, gibt das Credential-CredentialBlob-Mitglied> die PIN an, die den privaten Schlüssel des zertifikats schützt, das vom Member "Credential-UserName>" angegeben wird. Der Anmeldeinformations-Manager verwaltet die PIN nicht. Stattdessen wird die PIN an den kryptografischen Dienstanbieter (CSP) übergeben, der im Zertifikat angegeben ist, zur späteren Verwendung durch den CSP und die Authentifizierungspakete. Der CSP definiert die Lebensdauer der PIN. Die meisten CSPs leeren die PIN, wenn der smarte Karte aus dem smarten Karte-Reader entfernt wird.
Wenn der Wert des Type-Members der CREDENTIAL-Struktur , die durch den Credential-Parameter angegeben wird , CRED_TYPE_DOMAIN_EXTENDED ist, muss im Zielnamen ein Namespace angegeben werden. Diese Funktion unterstützt das Schreiben in Zielnamen, die Wildcards enthalten, nicht.
Hinweis
Der wincred.h-Header definiert CredWrite als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincred.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |