Freigeben über


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.