Share via


Usando o método SetSearchPreference

Chamar o método IDirectorySearch::SetSearchPreference altera a maneira como os resultados da pesquisa são obtidos e apresentados por meio da interface IDirectorySearch.

A documentação do SDK define SetSearchPreference da seguinte maneira:

HRESULT SetSearchPreference(
            //Search preferences to be set.
            PADS_SEARCHPREF_INFO pSearchPrefs,
            //Number of preferences.
            DWORD dwNumPrefs
            );

Várias preferências podem ser definidas passando uma matriz como o primeiro parâmetro e o tamanho da matriz como o segundo parâmetro.

ADS_SEARCHPREF_INFO arSearchPrefs[2];
 
arSearchPrefs[0].dwSearchPref = ADS_SEARCHPREF_PAGESIZE; 
arSearchPrefs[0].vValue.dwType = ADSTYPE_INTEGER;
arSearchPrefs[0].vValue.Integer = 100;
 
arSearchPrefs[1].dwSearchPref = ADS_SEARCHPREF_SEARCH_SCOPE; 
arSearchPrefs[1].vValue.dwType = ADSTYPE_INTEGER; 
arSearchPrefs[1].vValue.Integer = ADS_SCOPE_SUBTREE; 
 
hr = pDSearch->SetSearchPreference(&arSearchPrefs, 2);

Este exemplo define o tamanho da página como 100 linhas e o escopo como o tipo ADS_SCOPE_SUBTREE. A configuração de tamanho de página faz com que o servidor retorne dados imediatamente ao cliente, após o cálculo de 100 linhas. A configuração ADS_SCOPE_SUBTREE faz com que a pesquisa abranja todos os ramos na árvore abaixo do ponto a partir do qual a pesquisa está sendo executada.