Función CredWriteDomainCredentialsA (wincred.h)
La función CredWriteDomainCredentials escribe las credenciales de dominio en el conjunto de credenciales del usuario. El conjunto de credenciales usado es el asociado a la sesión de inicio de sesión del token actual. El token no debe tener deshabilitado el SID del usuario.
Sintaxis
BOOL CredWriteDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
Parámetros
[in] TargetInfo
Identifica el servidor de destino. Al menos uno de los miembros de nomenclatura debe ser distinto de NULL y puede ser NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName o DnsTreeName.
[in] Credential
Credencial que se va a escribir.
La credencial debe ser una que coincida con TargetInfo Por ejemplo, si TargetName es un nombre DNS con caracteres comodín, el miembro TargetName de la credencial debe ser un postfijo del miembro DnsServerName de TargetInfo.
[in] Flags
Marcas para controlar la operación de la API. Se define la marca siguiente.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve TRUE.
Si se produce un error en la función, devuelve FALSE. Llame a la función GetLastError para obtener un código de estado más específico. Se pueden devolver los siguientes códigos de estado.
Se pueden devolver otros errores de tarjeta inteligente al escribir una credencial de CRED_TYPE_CERTIFICATE.
Código devuelto | Descripción |
---|---|
|
Uno o varios de los parámetros no son válidos. Ninguno de los parámetros de nomenclatura se especificó o la credencial especificada no tenía el miembro Type establecido en CRED_TYPE_DOMAIN_PASSWORD o CRED_TYPE_DOMAIN_CERTIFICATE, o la credencial no coincide con TargetInfo. |
|
La sesión de inicio de sesión no existe o no hay ningún conjunto de credenciales asociado a esta sesión de inicio de sesión. Las sesiones de inicio de sesión de red no tienen un conjunto de credenciales asociado. |
|
Se especificó un valor que no es válido para el parámetro Flags . |
|
El miembro UserName de la estructura credential pasada no es válido. Para obtener una descripción de las sintaxis válidas, vea la definición de ese miembro. |
|
CRED_PRESERVE_CREDENTIAL_BLOB se especificó y no hay ninguna credencial existente por el mismo TargetName y Type. |
|
La credencial CRED_TYPE_CERTIFICATE que se escribe requiere que el lector de tarjetas inteligentes esté disponible. |
|
La credencial que se está escribiendo requiere que se inserte la tarjeta inteligente. |
|
El PIN incorrecto se proporcionó para el CRED_TYPE_CERTIFICATE credencial que se está escribiendo. |
Comentarios
Cuando esta función escribe una credencial de CRED_TYPE_CERTIFICATE, el miembro Credential-CredentialBlob> especifica el PIN que protege la clave privada del certificado especificado por Credential-UserName>. El administrador de credenciales no mantiene el PIN. En su lugar, el PIN se pasa al CSP del certificado para su uso posterior por los paquetes de autenticación y CSP. El CSP define la duración del PIN. Por ejemplo, la mayoría de los CSP vacían el PIN tras la eliminación de tarjetas inteligentes.
CredWriteDomainCredentials difiere de CredWrite en que controla las credenciales de dominio (CRED_TYPE_DOMAIN_PASSWORD o CRED_TYPE_DOMAIN_CERTIFICATE). Las credenciales de dominio contienen más de un miembro de destino.
Si el valor del miembro Type de la estructura CREDENTIAL especificada por el parámetro Credential es CRED_TYPE_DOMAIN_EXTENDED, se debe especificar un espacio de nombres en el nombre de destino.
Nota
El encabezado wincred.h define CredWriteDomainCredentials 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
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 |