Compartir a través de


Función DsBindWithSpnExA (ntdsapi.h)

La función DsBindWithSpnEx se enlaza a un controlador de dominio mediante las credenciales especificadas y un nombre de entidad de seguridad de servicio (SPN) específico para la autenticación mutua. Esta función es similar a la función de DsBindWithSpn de , salvo que esta función permite más opciones de enlace con el parámetro BindFlags.

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 DomainControllerName en el tema DsBind.

[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 DnsDomainName en el tema DsBind.

[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 NULL en servicePrincipalName equivale a una llamada a la función DsBindWithCred de .

[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 DsUnBind.

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

DsBind

DsBindWithCred

DsBindWithSpn

DsUnBind

niveles de suplantación