使用 SetSearchPreference 方法
调用 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 设置使搜索包含执行搜索的点下方树中的所有分支。