Utilisation de la méthode SetSearchPreference
L’appel de la méthode IDirectorySearch::SetSearchPreference modifie la façon dont les résultats de la recherche sont obtenus et présentés via l’interface IDirectorySearch .
La documentation du Kit de développement logiciel (SDK) définit SetSearchPreference comme suit :
HRESULT SetSearchPreference(
//Search preferences to be set.
PADS_SEARCHPREF_INFO pSearchPrefs,
//Number of preferences.
DWORD dwNumPrefs
);
Plusieurs préférences peuvent être définies en passant un tableau comme premier paramètre et la taille du tableau comme deuxième paramètre.
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);
Cet exemple montre comment définir la taille de la page sur 100 lignes et l’étendue sur le type ADS_SCOPE_SUBTREE. Le paramètre de taille de page oblige le serveur à retourner immédiatement des données au client, une fois que 100 lignes ont été calculées. Le paramètre ADS_SCOPE_SUBTREE fait que la recherche englobe toutes les branches de l’arborescence sous le point à partir duquel la recherche est exécutée.