Freigeben über


Größenbeschränkung mit IDirectorySearch

Um den Arbeitsspeicherbedarf zu verringern oder zu anderen Zwecken, kann sich der Client auf eine kleine Anzahl von Objekten konzentrieren, die vom Server zurückgegeben werden, und den Rest des Resultsets ignorieren, die nicht von Interesse sind. Um dies zu erreichen, gibt der Client den Grenzwert für die Suchgröße und andere geeignete Suchkriterien an. Wenn das Verzeichnis beispielsweise die Testergebnisse eines Schulbezirks speichert, können Sie die zehn besten Schüler mit den höchsten Testergebnissen abfragen, indem Sie eine Größenbeschränkung von zehn (10) und eine absteigende Sortierreihenfolge angeben.

Der Standardwert für das Größenlimit ist keine Beschränkung. Um ein Größenlimit festzulegen, legen Sie eine ADS_SEARCHPREF_SIZE_LIMIT Suchoption mit einem ADSTYPE_INTEGER Wert fest, der die maximale Größe im ADS_SEARCHPREF_INFO Array enthält, das an die IDirectorySearch::SetSearchPreference-Methode übergeben wird.

Im folgenden Codebeispiel wird gezeigt, wie die Größenbeschränkung festgelegt wird. Ein Größenlimitwert von 0 (null) gibt keine Größenbeschränkung an.

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_SIZE_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 1000;

Für Active Directory gibt das Größenlimit die maximale Anzahl von Objekten an, die von der Suche zurückgegeben werden sollen. Auch für Active Directory beträgt die maximale Anzahl von Objekten, die von einer Suche zurückgegeben werden, 1.000 Objekte.