Compartir a través de


función ldap_search_ext (winldap.h)

La función ldap_search_ext busca en el directorio LDAP y devuelve un conjunto solicitado de atributos para cada entrada coincidente.

Sintaxis

WINLDAPAPI ULONG LDAPAPI ldap_search_ext(
  [in]  LDAP          *ld,
  [in]  PSTR          base,
  [in]  ULONG         scope,
  [in]  PSTR          filter,
  [in]  PZPSTR        attrs,
  [in]  ULONG         attrsonly,
  [in]  PLDAPControlA *ServerControls,
  [in]  PLDAPControlA *ClientControls,
  [in]  ULONG         TimeLimit,
  [in]  ULONG         SizeLimit,
  [out] ULONG         *MessageNumber
);

Parámetros

[in] ld

Identificador de sesión.

[in] base

Puntero a una cadena terminada en null que contiene el nombre distintivo de la entrada en la que se va a iniciar la búsqueda.

[in] scope

Especifica uno de los valores siguientes para indicar el ámbito de búsqueda.

LDAP_SCOPE_BASE

Busque solo la entrada base.

LDAP_SCOPE_ONELEVEL

Busque todas las entradas del primer nivel por debajo de la entrada base, excepto la entrada base.

LDAP_SCOPE_SUBTREE

Busque la entrada base y todas las entradas del árbol debajo de la base.

[in] filter

Puntero a una cadena terminada en null que especifica el filtro de búsqueda. Para obtener más información, vea Sintaxis de filtro de búsqueda.

[in] attrs

Matriz terminada en null de cadenas terminadas en NULL que indican qué atributos se van a devolver para cada entrada coincidente. Para recuperar todos los atributos disponibles, pase NULL.

[in] attrsonly

Valor booleano que debe ser cero si se van a devolver los tipos de atributo y los valores, distinto de cero si solo se van a devolver tipos.

[in] ServerControls

Lista de controles de servidor LDAP.

[in] ClientControls

Una lista de controles de cliente.

[in] TimeLimit

Especifica el valor de tiempo de espera de búsqueda local en segundos y el límite de tiempo de operación enviado al servidor dentro de la solicitud de búsqueda.

[in] SizeLimit

Límite en el número de entradas que se van a devolver de la búsqueda. Un valor de cero indica que no hay límite.

[out] MessageNumber

Identificador del mensaje de solicitud.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es LDAP_SUCCESS.

Si la función presenta un error, devuelve un código de error. Para obtener más información, vea Valores devueltos.

Comentarios

La función ldap_search_ext inicia una operación de búsqueda asincrónica. Los parámetros y efectos de ldap_search_ext incluyen los de ldap_search. La función extendida incluye parámetros adicionales para admitir controles de cliente y servidor y seguridad para subprocesos, y para especificar límites de tamaño y tiempo para cada operación de búsqueda.

Use la función ldap_set_option con el identificador de sesión ld para establecer la opción LDAP_OPT_DEREF que determine cómo se realiza la búsqueda. Para obtener más información, vea Opciones de sesión. Otras dos opciones de sesión, LDAP_OPT_SIZELIMIT y LDAP_OPT_TIMELIMIT, se omiten en favor de los parámetros SizeLimit y TimeLimit de esta función.

Si la operación se realiza correctamente, ldap_search_ext pasa el identificador de mensaje al autor de la llamada como parámetro cuando la operación se devuelve correctamente. Llame a ldap_result con el identificador de mensaje para obtener el resultado de la operación.

Una aplicación cliente LDAP que debe controlar la velocidad a la que se devuelven los resultados puede especificar la solicitud de búsqueda para proporcionar un control de resultados paginados con el tamaño establecido en el tamaño de página deseado y la cookie establecida en la cadena de longitud cero. El tamaño de página especificado puede ser mayor que cero y menor que el valor SizeLimit especificado en la solicitud de búsqueda.

Si el tamaño de página es mayor o igual que la opción de valor SizeLimit descrita en Opciones de sesión, el servidor debe omitir el control porque la solicitud se puede satisfacer en una sola página. Si el servidor no admite este control, el servidor debe devolver un error de extensión crítica no admitida si el cliente lo solicitó como crítico; de lo contrario, el servidor debe omitir el control. En el resto de esta sección se supone que el servidor no omite el control de resultados paginados del cliente.

El cliente envía al servidor una solicitud de búsqueda con el control de resultados paginados simple, junto con una clave de enumeración anterior vacía, también conocida como "cookie" y el tamaño de página inicial. A continuación, el servidor devuelve el número de entradas especificadas por el tamaño de página y también devuelve una cookie emitida en la siguiente solicitud de cliente para obtener la siguiente página de resultados. A continuación, el cliente emite una búsqueda, con la cookie incluida, restableciendo opcionalmente el tamaño de página. A continuación, el servidor responde devolviendo los resultados, hasta el número especificado de entradas. Para indicar a la función que devuelva los resultados directamente, use la rutina sincrónica ldap_search_ext_s.

Multithreading: las llamadas a ldap_search_ext son seguras para subprocesos.

Requisitos

Requisito Value
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

Consulte también

Notificaciones de cambios en Active Directory

Controles extendidos

Funciones

Opciones de sesión

Uso de controles

ldap_result

ldap_search

ldap_search_ext_s