Especificando o escopo da pesquisa

Você pode especificar o escopo de uma pesquisa como uma pesquisa de base, um nível ou subárvore. Use o sinalizador ADS_SEARCHPREF_SEARCH_SCOPE com os valores da enumeração ADS_SCOPEENUM para especificar o escopo da pesquisa. A lista a seguir inclui descrições dos tipos de pesquisa:

  • Base. Uma pesquisa base limita a pesquisa ao objeto base. O número máximo de objetos retornados é sempre um. Essa pesquisa é útil para verificar a existência de um objeto para recuperar a associação ao grupo. Por exemplo, se você tiver um nome distinto de objeto e precisar verificar a existência do objeto com base no caminho, poderá usar uma pesquisa de um nível. Se a pesquisa falhar, você pode assumir que o objeto pode ter sido renomeado ou movido para um local diferente ou que você recebeu as informações erradas sobre o objeto. Lembre-se de que você deve armazenar o identificador global exclusivo (GUID) do objeto em vez do nome distinto, se desejar revisitar um objeto. O GUID sempre fará referência ao mesmo objeto, independentemente de onde o objeto está localizado dentro da hierarquia de diretório.
  • Um nível. Uma pesquisa de um nível é restrita aos filhos imediatos de um objeto base, mas exclui o próprio objeto base. Essa configuração pode executar uma pesquisa direcionada para objetos filho imediatos de um objeto pai. Por exemplo, considere um objeto pai P1 e seus filhos imediatos: C1, C2 e C3. Uma pesquisa de um nível avalia C1, C2 e C3 em relação aos critérios de busca, mas não avalia P1. Use uma pesquisa de um nível para enumerar todos os filhos de um objeto. Uma enumeração IADsContainer é convertida em uma pesquisa de um nível.
  • Subárvore. Uma pesquisa de subárvore (ou uma pesquisa profunda) inclui todos os objetos filho, bem como o objeto base. Você pode solicitar que o provedor LDAP busque referências a outros serviços de diretório LDAP, incluindo outros domínios de diretório ou florestas.