Fonction CredWriteDomainCredentialsA (wincred.h)
La fonction CredWriteDomainCredentials écrit les informations d’identification de domaine dans le jeu d’informations d’identification de l’utilisateur. Le jeu d’informations d’identification utilisé est celui associé à la session d’ouverture de session du jeton actuel. Le SID de l’utilisateur ne doit pas être désactivé pour le jeton.
Syntaxe
BOOL CredWriteDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
Paramètres
[in] TargetInfo
Identifie le serveur cible. Au moins l’un des membres de nommage doit être non NULL et peut être NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName ou DnsTreeName.
[in] Credential
Informations d’identification à écrire.
Les informations d’identification doivent correspondre à TargetInfo For instance, si TargetName est un nom DNS générique, le membre TargetName des informations d’identification doit être un postfix du membre DnsServerName du TargetInfo.
[in] Flags
Indicateurs pour contrôler le fonctionnement de l’API. L’indicateur suivant est défini.
Valeur retournée
Si la fonction réussit, la fonction retourne TRUE.
Si la fonction échoue, elle retourne FALSE. Appelez la fonction GetLastError pour obtenir un code status plus spécifique. Les codes status suivants peuvent être retournés.
D’autres erreurs de carte intelligente peuvent être retournées lors de l’écriture d’informations d’identification CRED_TYPE_CERTIFICATE.
Code de retour | Description |
---|---|
|
Un ou plusieurs paramètres ne sont pas valides. Soit aucun des paramètres de nommage n’a été spécifié, soit les informations d’identification spécifiées n’ont pas le membre Type défini sur CRED_TYPE_DOMAIN_PASSWORD ou CRED_TYPE_DOMAIN_CERTIFICATE, ou les informations d’identification ne correspondent pas à TargetInfo. |
|
La session d’ouverture de session n’existe pas ou aucun jeu d’informations d’identification n’est associé à cette session d’ouverture de session. Les sessions d’ouverture de session réseau n’ont pas d’ensemble d’informations d’identification associées. |
|
Une valeur non valide a été spécifiée pour le paramètre Flags . |
|
Le membre UserName du passé dans la structure d’informations d’identification n’est pas valide. Pour obtenir une description des syntaxes valides, consultez la définition de ce membre. |
|
CRED_PRESERVE_CREDENTIAL_BLOB a été spécifié et il n’existe aucune information d’identification par les mêmes TargetName et Type. |
|
Les informations d’identification CRED_TYPE_CERTIFICATE en cours d’écriture nécessitent que le lecteur smart carte soit disponible. |
|
Les informations d’identification en cours d’écriture nécessitent l’insertion du carte intelligent. |
|
Le code confidentiel incorrect a été fourni pour les informations d’identification CRED_TYPE_CERTIFICATE en cours d’écriture. |
Remarques
Lorsque cette fonction écrit des informations d’identification CRED_TYPE_CERTIFICATE, le membre Credential-CredentialBlob> spécifie le code confidentiel qui protège la clé privée du certificat spécifié par Credential-UserName>. Le gestionnaire d’informations d’identification ne conserve pas le code confidentiel. Au lieu de cela, le code confidentiel est passé au fournisseur de solutions Cloud du certificat pour une utilisation ultérieure par le fournisseur de solutions Cloud et les packages d’authentification. Le fournisseur csp définit la durée de vie du code confidentiel. Par instance, la plupart des fournisseurs de services cloud vident le code confidentiel lors de la suppression intelligente carte.
CredWriteDomainCredentials diffère de CredWrite en ce qu’il gère les idiosyncrasies des informations d’identification de domaine (CRED_TYPE_DOMAIN_PASSWORD ou CRED_TYPE_DOMAIN_CERTIFICATE). Les informations d’identification de domaine contiennent plusieurs membres cibles.
Si la valeur du membre Type de la structure CREDENTIAL spécifiée par le paramètre Credential est CRED_TYPE_DOMAIN_EXTENDED, un espace de noms doit être spécifié dans le nom cible.
Notes
L’en-tête wincred.h définit CredWriteDomainCredentials en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincred.h |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |