Función CredPackAuthenticationBufferA (wincred.h)
La función credPackAuthenticationBuffer
A partir de Windows 8 y Windows Server 2012, la función CredPackAuthenticationBuffer convierte una credencial de identidad en un búfer de autenticación, que es una estructura de SEC_WINNT_AUTH_IDENTITY_EX2. Este búfer se puede pasar a LsaLogonUser, AcquireCredentialsHandleu otras interfaces del proveedor de identidades.
Sintaxis
CREDUIAPI BOOL CredPackAuthenticationBufferA(
[in] DWORD dwFlags,
[in] LPSTR pszUserName,
[in] LPSTR pszPassword,
[out] PBYTE pPackedCredentials,
[in, out] DWORD *pcbPackedCredentials
);
Parámetros
[in] dwFlags
Especifica cómo se debe empaquetar la credencial. Puede ser una combinación de las marcas siguientes.
Valor | Significado |
---|---|
|
Cifra la credencial para que solo se pueda descifrar mediante procesos en la sesión de inicio de sesión del autor de la llamada. |
|
Cifra la credencial en un búfer wow. |
|
Cifra la credencial en un búfer de CRED_GENERIC. |
|
Cifra la credencial de una identidad en línea en una estructura de SEC_WINNT_AUTH_IDENTITY_EX2. Si no se establecen CRED_PACK_GENERIC_CREDENTIALS y CRED_PACK_ID_PROVIDER_CREDENTIALS, cifra las credenciales en un búfer de KERB_INTERACTIVE_LOGON.
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008: Este valor no se admite. |
[in] pszUserName
Puntero a una cadena terminada en null que especifica el nombre de usuario que se va a convertir. Para los usuarios del dominio, la cadena debe tener el formato siguiente:
DomainName\UserName
En el caso de las identidades en línea, si la credencial es una contraseña de texto no cifrado, el formato de nombre de usuario es ProviderName\UserName. Si la credencial es una estructura de
Para tarjeta inteligente o credenciales de certificado, el nombre de usuario es una cadena codificada que es la salida de una llamada de función a CredMarshalCredential con la opción CertCredential.
Windows Server 2008 R2, Windows 7, Windows Server 2008 y Windows Vista: no se admiten identidades de Online.
[in] pszPassword
Puntero a una cadena terminada en null que especifica la contraseña que se va a convertir.
Para las credenciales de SEC_WINNT_AUTH_IDENTITY_EX2, la contraseña es una cadena codificada que se encuentra en el ppszPackedCredentialsString salida de una llamada de función a SspiEncodeAuthIdentityAsStrings.
Para
Windows Server 2008 R2, Windows 7, Windows Server 2008 y Windows Vista: no se admiten identidades de Online.
[out] pPackedCredentials
Puntero a una matriz de bytes que, en la salida, recibe el búfer de autenticación empaquetado. Este parámetro puede ser NULL para recibir el tamaño de búfer necesario en el parámetro pcbPackedCredentials.
[in, out] pcbPackedCredentials
Puntero a un valor DWORD que especifica el tamaño, en bytes, del búfer de pPackedCredentials. En la salida, si el búfer no tiene un tamaño suficiente, especifica el tamaño necesario, en bytes, del pPackedCredentials búfer.
Valor devuelto
TRUE si la función se realiza correctamente; De lo contrario, FALSE.
Para obtener información de error extendida, llame a la función GetLastError, que puede devolver los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
El búfer proporcionado por pPackedCredentials es demasiado pequeño. |
Observaciones
Nota
El encabezado wincred.h define CredPackAuthenticationBuffer como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
wincred.h |
biblioteca de |
Credui.lib |
DLL de |
Credui.dll |