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 |
---|---|
|
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. |
|
Chiffre les informations d’identification dans une mémoire tampon WOW. |
|
Chiffre les informations d’identification dans une mémoire tampon CRED_GENERIC. |
|
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
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
[in, out] pcbPackedCredentials
Pointeur vers une valeur DWORD
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 |
---|---|
|
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 |