Compartilhar via


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

Confira também

Alterar notificações no Active Directory

Controles estendidos

Funções

Opções de sessão

Usando controles

Ldap_result

ldap_search

ldap_search_ext_s