呼叫 IDirectorySearch::SetSearchPreference 方法會變更透過 IDirectorySearch 介面取得和呈現搜尋結果的方式。
SDK 檔會定義 setSearchPreference ,如下所示:
HRESULT SetSearchPreference(
//Search preferences to be set.
PADS_SEARCHPREF_INFO pSearchPrefs,
//Number of preferences.
DWORD dwNumPrefs
);
藉由傳遞一個陣列作為第一個參數,並將陣列大小作為第二個參數來設定多個喜好設定。
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);
本範例會將頁面大小設定為100個數據列,並將範圍設定為ADS_SCOPE_SUBTREE類型。 頁面大小設定會導致伺服器在計算 100 個數據列之後立即將數據傳回用戶端。 ADS_SCOPE_SUBTREE設定會導致搜尋包含執行搜尋點下方樹狀結構中的所有分支。