Función CredMarshalCredentialA (wincred.h)

La función CredMarshalCredential transforma una credencial en una cadena de texto. Históricamente, muchas funciones, como NetUseAdd, toman un nombre de dominio, un nombre de usuario y una contraseña como credenciales. Estas funciones no aceptan certificados como credenciales. La función CredMarshalCredential convierte estas credenciales en un formulario que se puede pasar a estas API.

La credencial serialada se debe pasar como la cadena de nombre de usuario a cualquier API que se pase actualmente a las credenciales. El nombre de dominio, si procede, se debe pasar a esa API como NULL o vacío. Para las credenciales de certificado, el PIN del certificado debe pasarse a esa API como contraseña.

El autor de la llamada no debe modificar ni imprimir credenciales serialadas. El valor devuelto se puede convertir libremente entre los conjuntos de caracteres Unicode, ANSI y OEM. La cadena distingue mayúsculas de minúsculas.

Sintaxis

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

Parámetros

[in] CredType

Tipo de la credencial que se va a serializar.

[in] Credential

Credencial que se va a serializar.

Se trata de uno de los valores de CRED_MARSHAL_TYPE .

Si CredType es CertCredential, Credential apunta a una estructura de CERT_CREDENTIAL_INFO .

Si CredType es UsernameTargetCredential, Credential apunta a una estructura de USERNAME_TARGET_CREDENTIAL_INFO .

[out] MarshaledCredential

Puntero a una cadena terminada en null que contiene la credencial serialada. El autor de la llamada debe liberar el búfer devuelto mediante CredFree.

Valor devuelto

Esta función devuelve TRUE si se ejecuta correctamente y FALSE en caso de error. Se puede llamar a la función GetLastError para obtener un código de estado más específico. Se puede devolver el código de estado siguiente:

ERROR_INVALID_PARAMETER

CredType no es válido.

Comentarios

Nota

El encabezado wincred.h define CredMarshalCredential 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 Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincred.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

Obtener último error

USERNAME_TARGET_CREDENTIAL_INFO