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 |