Función DsBindWithSpnExA (ntdsapi.h)
La función
Esta función se proporciona cuando se requiere un control completo sobre la autenticación mutua. No use esta función si espera que DsBind encontrar un servidor automáticamente, ya que los SPN son específicos del equipo y es poco probable que el SPN que proporcione coincida con el servidor que DsBind encuentra. Proporcionar un argumento NULLServicePrincipalName da como resultado un comportamiento idéntico a DsBindWithCred.
Sintaxis
NTDSAPI_POSTXP DWORD DsBindWithSpnExA(
[in, optional] LPCSTR DomainControllerName,
[in, optional] LPCSTR DnsDomainName,
[in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
[in, optional] LPCSTR ServicePrincipalName,
[in, optional] DWORD BindFlags,
[out] HANDLE *phDS
);
Parámetros
[in, optional] DomainControllerName
Puntero a una cadena terminada en NULL que contiene el nombre DNS completo del dominio que se va a enlazar. Para obtener más información, consulte la descripción
[in, optional] DnsDomainName
Puntero a una cadena terminada en NULL que contiene el nombre DNS completo del dominio que se va a enlazar. Para obtener más información, consulte la descripción
[in, optional] AuthIdentity
Contiene un valor RPC_AUTH_IDENTITY_HANDLE que representa las credenciales que se usarán para el enlace. El
función DsMakePasswordCredentials se usa para obtener este valor. Si este parámetro es NULL, se usan las credenciales del subproceso que realiza la llamada.
DsUnBind debe llamarse antes de liberar este identificador con la función DsFreePasswordCredentials.
[in, optional] ServicePrincipalName
Puntero a una cadena terminada en null que especifica el nombre de entidad de seguridad de servicio que se va a asignar al cliente. Pasar
[in, optional] BindFlags
Contiene un conjunto de marcas que definen el comportamiento de esta función. Este parámetro puede contener cero o una combinación de los valores enumerados en la lista siguiente.
NTDSAPI_BIND_ALLOW_DELEGATION (1)
Hace que el enlace use el nivel de suplantación del delegado. Esto permite que las operaciones que requieran delegación, como DsAddSidHistory, se realicen correctamente. Especificar esta marca también hace que DsBindWithSpnEx funcione como DsBindWithSpn.
Si no se especifica esta marca, el enlace usará el nivel de suplantación. Para obtener más información, consulte Niveles de suplantación.
La mayoría de las operaciones no requieren el nivel de suplantación de delegado, por lo que esta marca solo debe especificarse si es absolutamente necesaria. El enlace a un servidor no autorizado con el nivel de suplantación del delegado permitirá que el servidor no autorizado se conecte a un servidor no no autorizado con sus credenciales y realice operaciones no deseadas.
NTDSAPI_BIND_FIND_BINDING (2)
Reservado.
NTDSAPI_BIND_FORCE_KERBEROS (4)
Active Directory Lightweight Directory Services: Si se especifica esta marca, DsBindWithSpnEx obliga a usar la autenticación Kerberos. Si no se puede establecer la autenticación Kerberos, DsBindWithSpnEx no intentará autenticarse con ningún otro método.
[out] phDS
Dirección de un handle valor que recibe el identificador de enlace. Para cerrar este identificador, páselo a la función
Valor devuelto
Devuelve ERROR_SUCCESS si se ejecuta correctamente o un código de error de Windows o RPC de lo contrario. En la lista siguiente se enumeran los códigos de error comunes.
Observaciones
Nota
El encabezado ntdsapi.h define DsBindWithSpnEx 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 |
servidor mínimo admitido | Windows Server 2008 |
de la plataforma de destino de |
Windows |
encabezado de |
ntdsapi.h |
biblioteca de |
Ntdsapi.lib |
DLL de |
Ntdsapi.dll |
Consulte también
controlador de dominio y funciones de administración de replicación