função ldap_search_ext (winldap.h)
A função ldap_search_ext pesquisa o diretório LDAP e retorna um conjunto solicitado de atributos para cada entrada correspondente.
Sintaxe
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
O identificador de sessão.
[in] base
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome diferenciado da entrada na qual iniciar a pesquisa.
[in] scope
Especifica um dos valores a seguir para indicar o escopo da pesquisa.
LDAP_SCOPE_BASE
Pesquisar somente a entrada base.
LDAP_SCOPE_ONELEVEL
Pesquise todas as entradas no primeiro nível abaixo da entrada base, excluindo a entrada base.
LDAP_SCOPE_SUBTREE
Pesquise a entrada base e todas as entradas na árvore abaixo da base.
[in] filter
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o filtro de pesquisa. Para obter mais informações, consulte Sintaxe de filtro de pesquisa.
[in] attrs
Uma matriz terminada em nulo de cadeias de caracteres terminadas em nulo que indicam quais atributos retornar para cada entrada correspondente. Para recuperar todos os atributos disponíveis, passe NULL.
[in] attrsonly
Um valor booliano que deve ser zero se os tipos de atributo e os valores devem ser retornados, diferente de zero se apenas os tipos devem ser retornados.
[in] ServerControls
Uma lista de controles de servidor LDAP.
[in] ClientControls
Uma lista de controles de cliente.
[in] TimeLimit
Especifica o valor de tempo limite de pesquisa local em segundos e o limite de tempo de operação enviado ao servidor dentro da solicitação de pesquisa.
[in] SizeLimit
Um limite no número de entradas a serem retornadas da pesquisa. Um valor igual a zero indica que não há limite.
[out] MessageNumber
A ID da mensagem de solicitação.
Retornar valor
Se a função for bem-sucedida, o valor retornado será LDAP_SUCCESS.
Se a função falhar, será exibido um código de erro. Para obter mais informações, consulte Valores retornados.
Comentários
A função ldap_search_ext inicia uma operação de pesquisa assíncrona. Os parâmetros e os efeitos de ldap_search_ext incluem os de ldap_search. A função estendida inclui parâmetros adicionais para dar suporte a controles de cliente e servidor e segurança de thread e especificar limites de tamanho e tempo para cada operação de pesquisa.
Use a função ldap_set_option com o identificador de sessão ld para definir a opção LDAP_OPT_DEREF que determina como a pesquisa é executada. Para obter mais informações, consulte Opções de sessão. Duas outras opções de sessão, LDAP_OPT_SIZELIMIT e LDAP_OPT_TIMELIMIT, são ignoradas em favor dos parâmetros SizeLimit e TimeLimit nessa função.
Se a operação for bem-sucedida, ldap_search_ext passará a ID da mensagem para o chamador como um parâmetro quando a operação retornar com êxito. Chame ldap_result com a ID da mensagem para obter o resultado da operação.
Um aplicativo cliente LDAP que deve controlar a taxa na qual os resultados são retornados pode especificar a solicitação de pesquisa para fornecer um controle de resultados paginado com tamanho definido para o tamanho de página desejado e cookie definido como a cadeia de caracteres de comprimento zero. O tamanho da página especificado pode ser maior que zero e menor que o valor SizeLimit especificado na solicitação de pesquisa.
Se o tamanho da página for maior ou igual à opção de valor SizeLimit descrita em Opções de Sessão, o servidor deverá ignorar o controle porque a solicitação pode ser atendida em uma única página. Se o servidor não der suporte a esse controle, o servidor deverá retornar um erro de Extensão Crítica sem suporte se o cliente o solicitou como crítico, caso contrário, o servidor deverá ignorar o controle. O restante desta seção pressupõe que o servidor não ignore o controle de resultados paginado do cliente.
O cliente envia ao servidor uma solicitação de pesquisa com o controle de resultados paginado simples, juntamente com uma chave de enumeração anterior vazia, também conhecida como "cookie" e o tamanho inicial da página. Em seguida, o servidor retorna o número de entradas especificadas pelo tamanho da página e também retorna um cookie emitido na próxima solicitação do cliente para obter a próxima página de resultados. Em seguida, o cliente emite uma pesquisa, com o cookie incluído, opcionalmente redefinindo o tamanho da página. Em seguida, o servidor responde retornando os resultados, até o número especificado de entradas. Para instruir a função a retornar os resultados diretamente, use a rotina síncrona ldap_search_ext_s.
Multithreading: as chamadas para ldap_search_ext são thread-safe.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | winldap.h |
Biblioteca | Wldap32.lib |
DLL | Wldap32.dll |