Verwenden der SetSearchPreference-Methode
Das Aufrufen der IDirectorySearch::SetSearchPreference-Methode ändert die Art und Weise, wie die Suchergebnisse abgerufen und über die IDirectorySearch-Schnittstelle angezeigt werden.
In der SDK-Dokumentation wird SetSearchPreference wie folgt definiert:
HRESULT SetSearchPreference(
//Search preferences to be set.
PADS_SEARCHPREF_INFO pSearchPrefs,
//Number of preferences.
DWORD dwNumPrefs
);
Mehrere Einstellungen können festgelegt werden, indem ein Array als ersten Parameter und die Arraygröße als zweiter Parameter übergeben wird.
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);
In diesem Beispiel wird die Seitengröße auf 100 Zeilen und der Bereich auf den ADS_SCOPE_SUBTREE-Typ festgelegt. Die Seitengrößeneinstellung bewirkt, dass der Server sofort Daten an den Client zurückgibt, nachdem 100 Zeilen berechnet wurden. Die Einstellung ADS_SCOPE_SUBTREE bewirkt, dass die Suche alle Verzweigungen in der Struktur unterhalb des Punkts umfasst, ab dem die Suche ausgeführt wird.