Fonction CredMarshalCredentialA (wincred.h)

La fonction CredMarshalCredential transforme des informations d’identification en chaîne de texte. Historiquement, de nombreuses fonctions, telles que NetUseAdd, prennent un nom de domaine, un nom d’utilisateur et un mot de passe comme informations d’identification. Ces fonctions n’acceptent pas les certificats en tant qu’informations d’identification. La fonction CredMarshalCredential convertit ces informations d’identification dans un formulaire qui peut être transmis dans ces API.

Les informations d’identification marshalées doivent être passées en tant que chaîne de nom d’utilisateur à toute API actuellement transmise. Le nom de domaine, le cas échéant, passé à cette API doit être passé comme NULL ou vide. Pour les informations d’identification du certificat, le code pin du certificat doit être passé à cette API en tant que mot de passe.

L’appelant ne doit pas modifier ou imprimer les informations d’identification marshalées. La valeur retournée peut être convertie librement entre les jeux de caractères Unicode, ANSI et OEM. La chaîne respecte la casse.

Syntaxe

BOOL CredMarshalCredentialA(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPSTR             *MarshaledCredential
);

Paramètres

[in] CredType

Type des informations d’identification à marshaler.

[in] Credential

Informations d’identification à marshaler.

Il s’agit de l’une des valeurs CRED_MARSHAL_TYPE .

Si CredType est CertCredential, credential pointe vers une structure CERT_CREDENTIAL_INFO .

Si CredType est UsernameTargetCredential, credential pointe vers une structure USERNAME_TARGET_CREDENTIAL_INFO .

[out] MarshaledCredential

Pointeur vers une chaîne terminée par null qui contient les informations d’identification marshalées. L’appelant doit libérer la mémoire tampon retournée à l’aide de CredFree.

Valeur retournée

Cette fonction retourne TRUE en cas de réussite et FALSE en cas d’échec. La fonction GetLastError peut être appelée pour obtenir un code status plus spécifique. Le code status suivant peut être retourné :

ERROR_INVALID_PARAMETER

CredType n’est pas valide.

Remarques

Notes

L’en-tête wincred.h définit CredMarshalCredential 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

Voir aussi

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

Obtenir la dernière erreur

USERNAME_TARGET_CREDENTIAL_INFO