Utilizzo del metodo SetSearchPreference
La chiamata al metodo IDirectorySearch::SetSearchPreference modifica il modo in cui i risultati della ricerca vengono ottenuti e presentati tramite l'interfaccia IDirectorySearch.
La documentazione dell'SDK definisce SetSearchPreference come indicato di seguito:
HRESULT SetSearchPreference(
//Search preferences to be set.
PADS_SEARCHPREF_INFO pSearchPrefs,
//Number of preferences.
DWORD dwNumPrefs
);
È possibile impostare più preferenze passando una matrice come primo parametro e le dimensioni della matrice come secondo parametro.
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 questo esempio le dimensioni della pagina vengono impostate su 100 righe e l'ambito sul tipo di ADS_SCOPE_SUBTRedizione Enterprise. L'impostazione delle dimensioni della pagina fa sì che il server restituisca immediatamente i dati al client, dopo che sono state calcolate 100 righe. L'impostazione ADS_SCOPE_SUBTRedizione Enterprise fa sì che la ricerca includa tutti i rami dell'albero sotto il punto da cui viene eseguita la ricerca.