Поделиться через


Использование метода SetSearchPreference

Вызов метода IDirectorySearch::SetSearchPreference изменяет способ получения и представления результатов поиска через интерфейс IDirectorySearch.

Документация по пакету SDK определяет SetSearchPreference следующим образом:

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

Можно задать несколько параметров путем передачи массива в качестве первого параметра и размера массива в качестве второго параметра.

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);

В этом примере размер страницы должен быть равным 100 строкам и область типу ADS_SCOPE_SUBTREE. Параметр размера страницы приводит к тому, что сервер немедленно возвращает данные клиенту после вычисления 100 строк. Параметр ADS_SCOPE_SUBTREE приводит к тому, что поиск охватывает все ветви в дереве ниже точки выполнения поиска.