Compartir a través de


Función DsBindByInstanceA (ntdsapi.h)

La función DsBindByInstance se enlaza explícitamente a cualquier instancia de AD LDS o Active Directory.

Sintaxis

NTDSAPI_POSTXP DWORD DsBindByInstanceA(
  [in]           LPCSTR                   ServerName,
  [in]           LPCSTR                   Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Parámetros

[in] ServerName

Puntero a una cadena terminada en null que especifica el nombre de la instancia. Este parámetro es necesario para enlazar a una instancia de AD LDS. Si este parámetro es null al enlazar a una instancia de Active Directory, el parámetro DnsDomainName debe contener un valor. Si este parámetro y el parámetro DnsDomainName son null, la función produce un error con el valor devuelto ERROR_INVALID_PARAMETER (87).

[in] Annotation

Puntero a una cadena terminada en null que especifica el número de puerto de la instancia de AD LDS o null al enlazar a una instancia de Active Directory. Por ejemplo, "389".

Si este parámetro es NULL al enlazar por dominio a una instancia de Active Directory, se debe especificar el parámetro DnsDomainName. Si este parámetro es null al enlazar a una instancia de AD LDS, se debe especificar el parámetro InstanceGuid.

[in] InstanceGuid

Puntero a un GUID de que contiene el GUID de de la instancia de AD LDS. El valor GUID de es la propiedad objectGUID del objeto nTDSDSA de de la instancia. Si este parámetro es NULL al enlazar a una instancia de AD LDS, se debe especificar el parámetro Annotation.

[in] DnsDomainName

Puntero a una cadena terminada en null que especifica el nombre DNS del dominio al enlazar a una instancia de Active Directory por dominio. Establezca este parámetro en NULL para enlazar a una instancia de Active Directory por servidor o a una instancia de AD LDS.

[in, optional] AuthIdentity

Controle las credenciales usadas para iniciar la sesión RPC. Use la función DsMakePasswordCredentials para crear una estructura adecuada para AuthIdentity.

[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 uno o varios de los siguientes valores.

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 funcionen de forma similar a DsBindWithSpn.

Si no se especifica esta marca, el enlace usará el nivel de suplantación. Para obtener más información sobre los niveles de suplantación, consulte Niveles de suplantación.

La mayoría de las operaciones no requieren el nivel de suplantación del delegado; esta marca solo debe especificarse si es necesario. El enlace a un servidor no autorizado con el nivel de suplantación de delegado permite al servidor no autorizado conectarse a un servidor no no autorizado con sus credenciales y realizar operaciones no deseadas.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services: Si se especifica esta marca, DsBindWithSpnEx requiere que se use la autenticación Kerberos. Si no se puede establecer la autenticación Kerberos, DsBindWithSpnEx no intentará autenticarse con ningún otro mecanismo.

[out] phDS

Dirección de un valor handle que recibe el identificador de enlace. Para cerrar este identificador, llame a DsUnBind.

Valor devuelto

Devuelve NO_ERROR si se ejecuta correctamente o un error RPC o Win32 de lo contrario. Los códigos de error posibles incluyen los enumerados en la lista siguiente.

Observaciones

En la lista siguiente se enumeran los valores de parámetro necesarios para enlazar a una instancia de .

Instancia ServerName de de anotación de InstanceGuid DnsDomainName
Active Directory por servidor Nombre del servidor NULL NULL NULL
Active Directory por dominio NULL NULL NULL Nombre de dominio DNS
AD LDS por puerto Nombre DNS del equipo con la instalación de AD LDS. Número de puerto NULL NULL
AD LDS por GUID Nombre DNS del equipo con la instalación de AD LDS. NULL GUID de de instancia NULL
 
Nota Para mejorar el rendimiento al enlazar a una instancia de AD LDS en un equipo con varias instancias de AD LDS, enlazadas por la instancia GUID en lugar del número de puerto.
 

Nota

El encabezado ntdsapi.h define DsBindByInstance 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