Использование метода 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 приводит к тому, что поиск охватывает все ветви в дереве ниже точки выполнения поиска.