función ldap_open (winldap.h)

[ldap_open está disponible para su uso en los sistemas operativos especificados en la sección Requisitos; sin embargo, no se recomienda. En su lugar, use ldap_init.]

La función ldap_open crea e inicializa un bloque de conexión y, a continuación, abre la conexión a un servidor LDAP.

Sintaxis

WINLDAPAPI LDAP *LDAPAPI ldap_open(
  [in] PSTR  HostName,
  [in] ULONG PortNumber
);

Parámetros

[in] HostName

Un puntero a una cadena terminada en null. Un nombre de dominio, una lista de nombres de host o cadenas de puntos que representan la dirección IP de los hosts del servidor LDAP. Use un solo espacio para separar los nombres de host de la lista. Cada nombre de host de la lista puede seguir un número de puerto. El número de puerto opcional se separa del propio host con dos puntos (:). El tiempo de ejecución LDAP intenta establecer la conexión con los hosts en el orden indicado, deteniendo cuando se realiza una conexión correcta. Tenga en cuenta que solo ldap_open intentos de realizar la conexión antes de volver al autor de la llamada. La función ldap_init no se conecta al servidor LDAP.

[in] PortNumber

Contiene el número de puerto TCP al que se va a conectar. El puerto LDAP predeterminado, 389, se puede obtener proporcionando la constante LDAP_PORT. Si un nombre de host incluye un número de puerto, este parámetro se omite.

Valor devuelto

Si la función se ejecuta correctamente, devuelve un identificador de sesión, en forma de puntero a una estructura de datos LDAP. Libere el identificador de sesión, cuando ya no sea necesario, con una llamada a ldap_unbind.

Si se produce un error en la función, devuelve NULL. Use la función LdapGetLastError para recuperar el código de error.

Comentarios

Llame a ldap_open para crear un bloque de conexión en un servidor LDAP. El nombre de host puede ser NULL en cuyo caso el tiempo de ejecución intenta encontrar el servidor LDAP predeterminado. Los nombres de host se prueban en el orden indicado, deteniendo con la primera conexión correcta. Para los servidores de Active Directory, la función DsGetDcName se puede usar para obtener el nombre del servidor, que luego se puede pasar como parámetro HostName en lugar de usar NULL.

Si hostName se estableció en NULL o en el nombre de dominio, se aplica la reconexión automática. Si el controlador de dominio conectado deja de funcionar por algún motivo durante la duración de la conexión, LDAP se volverá a conectar automáticamente a otro controlador de dominio en el dominio especificado. Este comportamiento se puede desactivar o activar mediante la opción LDAP_OPT_AUTO_RECONNECT sesión, que está activada de forma predeterminada.

El servidor LDAP predeterminado es una opción específica de Microsoft cuando se usa LDAP_OPT_HOST_NAME. Esta opción especifica el nombre de host del servidor LDAP predeterminado y devuelve el nombre de host del servidor en Unicode o ANSI, dependiendo del uso de ldap_get_optionW o ldap_get_optionA, respectivamente.

Si se pasa un número de puerto de catálogo global a ldap_open como uno de los argumentos, el nombre de host pasado para ese número de puerto debe ser el nombre del bosque para la llamada subyacente a DsGetDcName() para encontrar correctamente el GC en la empresa.

La función ldap_open asigna una estructura de datos LDAP para mantener los datos de estado de la sesión y devuelve un identificador a esta estructura. Pase este identificador a las llamadas de función LDAP posteriores durante el curso de la sesión.

Multithreading: las llamadas a ldap_open son seguras para subprocesos.

Notaldap_open está en desuso por la RFC ldap actual porque abre inmediatamente una sesión en el controlador de dominio sin dar a la aplicación que realiza la llamada una oportunidad para configurar cualquier opción de sesión, por ejemplo (y lo más importante) opciones de sesión relacionadas con la seguridad. Se recomienda a los usuarios que usen ldap_init como método preferido para inicializar una sesión LDAP.
 

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado winldap.h
Library Wldap32.lib
Archivo DLL Wldap32.dll

Vea también

Funciones

LdapGetLastError

cldap_open

ldap_init

ldap_unbind