CredWriteDomainCredentialsA-Funktion (wincred.h)

Die CredWriteDomainCredentials-Funktion schreibt Domänenanmeldeinformationen in den Anmeldeinformationssatz des Benutzers. Bei dem verwendeten Anmeldeinformationssatz handelt es sich um den Satz, der der Anmeldesitzung des aktuellen Tokens zugeordnet ist. Für das Token darf die SID des Benutzers nicht deaktiviert sein.

Syntax

BOOL CredWriteDomainCredentialsA(
  [in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
  [in] PCREDENTIALA                    Credential,
  [in] DWORD                           Flags
);

Parameter

[in] TargetInfo

Identifiziert den Zielserver. Mindestens eines der Benennungsmember muss nicht NULL sein und kann NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName oder DnsTreeName sein.

[in] Credential

Zu schreibende Anmeldeinformationen.

Die Anmeldeinformationen müssen mit TargetInfo For instance übereinstimmen. Wenn TargetName ein DNS-Wildcardname ist, muss das TargetName-Element der Anmeldeinformationen ein Postfix des DnsServerName-Elements aus targetInfo sein.

[in] Flags

Flags zum Steuern des Vorgangs der API. Das folgende Flag ist definiert.

Wert Bedeutung
CRED_PRESERVE_CREDENTIAL_BLOB
Das Anmeldeinformationsblob sollte aus den bereits vorhandenen Anmeldeinformationen mit demselben Anmeldeinformationsnamen und Anmeldeinformationstyp beibehalten werden. Die CredentialBlobSize der in der Anmeldeinformationsstruktur übergebenen muss null sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.

Wenn die Funktion fehlschlägt, wird FALSE zurückgegeben. Rufen Sie die GetLastError-Funktion auf, um einen spezifischeren status Code abzurufen. Die folgenden status Codes können zurückgegeben werden.

Andere Intelligente Karte Fehler können beim Schreiben einer CRED_TYPE_CERTIFICATE Anmeldeinformationen zurückgegeben werden.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig. Entweder wurde keiner der Benennungsparameter angegeben, oder für die angegebenen Anmeldeinformationen wurde der Type-Member nicht auf CRED_TYPE_DOMAIN_PASSWORD oder CRED_TYPE_DOMAIN_CERTIFICATE festgelegt, oder die Anmeldeinformationen stimmen nicht mit targetInfo überein.
ERROR_NO_SUCH_LOGON_SESSION
Die Anmeldesitzung ist nicht vorhanden, oder dieser Anmeldesitzung ist kein Anmeldeinformationssatz zugeordnet. Netzwerkanmeldungssitzungen verfügen nicht über einen zugeordneten Anmeldeinformationssatz.
ERROR_INVALID_FLAGS
Für den Flags-Parameter wurde ein ungültiger Wert angegeben.
ERROR_BAD_USERNAME
Das UserName-Element der übergebenen Anmeldeinformationsstruktur ist ungültig. Eine Beschreibung der gültigen Syntaxen finden Sie in der Definition dieses Members.
ERROR_NOT_FOUND
CRED_PRESERVE_CREDENTIAL_BLOB wurde angegeben, und es sind keine Anmeldeinformationen mit demselben TargetName und Type vorhanden.
SCARD_E_NO_READERS_AVAILABLE
Die CRED_TYPE_CERTIFICATE zu schreibenden Anmeldeinformationen erfordert, dass der Reader für intelligente Karte verfügbar ist.
SCARD_E_NO_SMARTCARD oder SCARD_W_REMOVED_CARD: Die CRED_TYPE_CERTIFICATE
Für die geschriebenen Anmeldeinformationen muss die intelligente Karte eingefügt werden.
SCARD_W_WRONG_CHV
Die falsche PIN wurde für die CRED_TYPE_CERTIFICATE geschriebenen Anmeldeinformationen angegeben.

Hinweise

Wenn diese Funktion einen CRED_TYPE_CERTIFICATE Anmeldeinformationen schreibt, gibt das Credential-CredentialBlob-Element> die PIN an, die den privaten Schlüssel des zertifikats schützt, das durch Credential-UserName> angegeben wird. Der Anmeldeinformations-Manager verwaltet die PIN nicht. Stattdessen wird die PIN an den CSP des Zertifikats zur späteren Verwendung durch den CSP und die Authentifizierungspakete übergeben. Der CSP definiert die Lebensdauer der PIN. Für instance leeren die meisten CSPs die PIN beim Entfernen von intelligenten Karte.

CredWriteDomainCredentials unterscheidet sich von CredWrite darin, dass es die Idiosyncrasies von Domänenanmeldeinformationen (CRED_TYPE_DOMAIN_PASSWORD oder CRED_TYPE_DOMAIN_CERTIFICATE) verarbeitet. Domänenanmeldeinformationen enthalten mehr als ein Zielelement.

Wenn der Wert des Typmembers der durch den Credential-Parameter angegebenen CREDENTIAL-StrukturCRED_TYPE_DOMAIN_EXTENDED ist, muss im Zielnamen ein Namespace angegeben werden.

Hinweis

Der wincred.h-Header definiert CredWriteDomainCredentials 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

   
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