Partager via


CredPackAuthenticationBufferA, fonction (wincred.h)

La fonction CredPackAuthenticationBuffer convertit un nom d’utilisateur et un mot de passe de chaîne en mémoire tampon d’authentification.

À compter de Windows 8 et Windows Server 2012, la fonction CredPackAuthenticationBuffer convertit des informations d’identification d’identité en mémoire tampon d’authentification, qui est une structure SEC_WINNT_AUTH_IDENTITY_EX2. Cette mémoire tampon peut être transmise à LsaLogonUser, AcquireCredentialsHandleou à d’autres interfaces de fournisseur d’identité.

Syntaxe

CREDUIAPI BOOL CredPackAuthenticationBufferA(
  [in]      DWORD dwFlags,
  [in]      LPSTR pszUserName,
  [in]      LPSTR pszPassword,
  [out]     PBYTE pPackedCredentials,
  [in, out] DWORD *pcbPackedCredentials
);

Paramètres

[in] dwFlags

Spécifie la façon dont les informations d’identification doivent être empaquetées. Il peut s’agir d’une combinaison des indicateurs suivants.

Valeur Signification
CRED_PACK_PROTECTED_CREDENTIALS
Chiffre les informations d’identification afin qu’elles puissent uniquement être déchiffrées par les processus de la session d’ouverture de session de l’appelant.
CRED_PACK_WOW_BUFFER
Chiffre les informations d’identification dans une mémoire tampon WOW.
CRED_PACK_GENERIC_CREDENTIALS
Chiffre les informations d’identification dans une mémoire tampon CRED_GENERIC.
CRED_PACK_ID_PROVIDER_CREDENTIALS
Chiffre les informations d’identification d’une identité en ligne dans une structure SEC_WINNT_AUTH_IDENTITY_EX2. Si CRED_PACK_GENERIC_CREDENTIALS et CRED_PACK_ID_PROVIDER_CREDENTIALS ne sont pas définis, chiffre les informations d’identification dans une mémoire tampon KERB_INTERACTIVE_LOGON.

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008 : Cette valeur n’est pas prise en charge.

[in] pszUserName

Pointeur vers une chaîne terminée par null qui spécifie le nom d’utilisateur à convertir. Pour les utilisateurs de domaine, la chaîne doit être au format suivant :

DomainName\UserName

Pour les identités en ligne, si les informations d’identification sont un mot de passe en texte clair, le format de nom d’utilisateur est ProviderName\UserName. Si les informations d’identification sont une structure SEC_WINNT_AUTH_IDENTITY_EX2, le nom d’utilisateur est une chaîne encodée qui correspond à la sortie du paramètre UserName de nom d’utilisateur d’un appel de fonction à SspiEncodeAuthIdentityAsStrings.

Pour carte à puce ou les informations d’identification du certificat, le nom d’utilisateur est une chaîne encodée qui correspond à la sortie d’un appel de fonction à CredMarshalCredential avec l’option CertCredential.

Windows Server 2008 R2, Windows 7, Windows Server 2008 et Windows Vista : identités en ligne ne sont pas prises en charge.

[in] pszPassword

Pointeur vers une chaîne terminée par null qui spécifie le mot de passe à convertir.

Pour SEC_WINNT_AUTH_IDENTITY_EX2 informations d’identification, le mot de passe est une chaîne encodée qui se trouve dans le ppszPackedCredentialsString sortie d’un appel de fonction à SspiEncodeAuthIdentityAsStrings.

Pour carte à puce informations d’identification, il s’agit du code confidentiel carte à puce.

Windows Server 2008 R2, Windows 7, Windows Server 2008 et Windows Vista : identités en ligne ne sont pas prises en charge.

[out] pPackedCredentials

Pointeur vers un tableau d’octets qui, en sortie, reçoit la mémoire tampon d’authentification packée. Ce paramètre peut être NULL pour recevoir la taille de mémoire tampon requise dans le paramètre de la mémoire tampon

[in, out] pcbPackedCredentials

Pointeur vers une valeur DWORD qui spécifie la taille, en octets, de la mémoire tampon pPackedCredentials . En sortie, si la mémoire tampon n’est pas de taille suffisante, spécifie la taille requise, en octets, de la mémoire tampon pPackedCredentials tampon.

Valeur de retour

TRUE si la fonction réussit ; sinon, FALSE.

Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError, qui peut retourner les codes d’erreur suivants.

Retourner le code Description
ERROR_INSUFFICIENT_BUFFER
La mémoire tampon fournie par pPackedCredentials est trop petite.

Remarques

Note

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

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wincred.h
bibliothèque Credui.lib
DLL Credui.dll