Fonction CredWriteA (wincred.h)
La fonction CredWrite crée des informations d’identification ou modifie des informations d’identification existantes dans le jeu d’informations d’identification de l’utilisateur. Les nouvelles informations d’identification sont associées à la session d’ouverture de session du jeton actuel. L’identificateur de sécurité (SID) de l’utilisateur ne doit pas être désactivé pour le jeton.
Syntaxe
BOOL CredWriteA(
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
Paramètres
[in] Credential
Pointeur vers la structure CREDENTIAL à écrire.
[in] Flags
Indicateurs qui contrôlent l’opération de la fonction. 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 de CRED_TYPE_CERTIFICATE.
Code/valeur de retour | Description |
---|---|
|
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. |
|
Certains champs ne peuvent pas être modifiés dans des informations d’identification existantes. Cette erreur est retournée si un champ ne correspond pas à la valeur dans un champ protégé des informations d’identification existantes. |
|
Une valeur non valide a été spécifiée pour le paramètre Flags . |
|
Le membre UserName de la structure d’informations d’identification passée n’est pas valide. Pour obtenir une description de la syntaxe de nom d’utilisateur valide, consultez la définition de ce membre. |
|
CRED_PRESERVE_CREDENTIAL_BLOB a été spécifié et il n’existe pas d’informations d’identification pour les mêmes TargetName et Type. |
|
Les informations d’identification CRED_TYPE_CERTIFICATE en cours d’écriture nécessitent que le lecteur carte intelligent soit disponible. |
|
Une CRED_TYPE_CERTIFICATE d’informations d’identification en cours d’écriture nécessite 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
Cette fonction crée des informations d’identification si des informations d’identification avec le nom target etle type spécifiés n’existent pas. S’il existe des informations d’identification avec targetName et Type spécifiés, les nouvelles informations d’identification spécifiées remplacent celles existantes.
Lorsque cette fonction écrit des informations d’identification CRED_TYPE_CERTIFICATE, le membre Credential-CredentialBlob> spécifie le code confidentiel protégeant la clé privée du certificat spécifié par le membre Credential-UserName>. Le gestionnaire d’informations d’identification ne gère pas le code confidentiel. Au lieu de cela, le code confidentiel est transmis au fournisseur de services de chiffrement (CSP) indiqué sur le certificat pour une utilisation ultérieure par le fournisseur de solutions cloud et les packages d’authentification. Le fournisseur de solutions cloud définit la durée de vie du code confidentiel. La plupart des fournisseurs de solutions cloud vident le code confidentiel lorsque le carte intelligent est supprimé du lecteur de carte intelligent.
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. Cette fonction ne prend pas en charge l’écriture dans des noms cibles qui contiennent des caractères génériques.
Notes
L’en-tête wincred.h définit CredWrite comme un 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. Le mélange 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
Condition requise | Valeur |
---|---|
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 |