Limite de taille avec IDirectorySearch
Pour réduire les besoins en mémoire ou à d’autres fins, le client peut se concentrer sur un petit nombre d’objets retournés par le serveur et ignorer le reste du jeu de résultats qui ne sont pas intéressants. Pour ce faire, le client spécifie la limite de taille de recherche et d’autres critères de recherche appropriés. Par exemple, si le répertoire stocke les scores de test d’un district scolaire, vous pouvez interroger les dix premiers étudiants avec les scores de test les plus élevés en spécifiant une limite de taille de dix (10) et un ordre de tri décroissant.
La limite de taille par défaut est aucune limite. Pour définir une limite de taille, définissez une option de recherche ADS_SEARCHPREF_SIZE_LIMIT avec une valeur ADSTYPE_INTEGER qui contient la taille maximale dans le tableau ADS_SEARCHPREF_INFO passée à la méthode IDirectorySearch::SetSearchPreference .
L’exemple de code suivant montre comment définir la limite de taille. Une valeur limite de taille égale à zéro indique aucune limite de taille.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_SIZE_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 1000;
Pour Active Directory, la limite de taille spécifie le nombre maximal d’objets à retourner par la recherche. De même, pour Active Directory, le nombre maximal d’objets retournés par une recherche est de 1 000 objets.