在单个上下文中搜索包含指定属性集的对象,并检索选定的属性。使用默认的 searchcontrols
设置进行搜索。
对于要选择的对象,matchingattributes
中的每个属性都必须与对象的某个属性匹配。如果 matchingattributes
为空或 null,则返回目标上下文中的所有对象。
如果 matchingattributes
中的属性 a1 和对象的属性 a2 具有相同的标识符并且 a1 中的每个值都与 a2 的某个值相等,则认为 a1 与 a2 匹配。这意味着值的顺序无关紧要,并且 a2 可以包含 a1 没有的“额外”值,这些值对比较没有影响。它还意味着如果 a1 没有值,则测试是否匹配等效于测试是否存在具有相同标识符的属性 a2。
在比较属性值时使用的“相等性”的精确定义由基础目录服务定义。例如,它可能使用 object.equals
方法或某种模式来指定不同的相等性操作。对于基于操作而非相等性的匹配(如子字符串比较),需要使用带有过滤器参数的 search
方法。
当对此 dircontext 作出更改时,对以前调用此方法返回的枚举的影响是不确定的。
如果对象没有指定的属性,则目录将忽略不存在的属性,并返回那些对象所具有的请求属性。
目录返回的属性可能多于请求(请参阅类描述中的属性类型名称),但不允许返回任意的、无关的属性。
另请参阅类描述中的操作属性。
- 参数:
name
- 要搜索的上下文的名称matchingattributes
- 要搜索的属性。如果为空或 null,则返回目标上下文中的所有对象。attributestoreturn
- 要返回的属性。null 指示要返回所有属性;空数组指示不返回任何属性。
- 返回:
- searchresult 对象的非 null 枚举。每个 searchresult 都包含
attributestoreturn
所标识的属性和相应对象的名称,该名称相对于 name
指定的上下文命名。
- 抛出:
namingexception
- 如果遇到命名异常- 另请参见:
searchcontrols
,
searchresult
,
search(name, string, object[], searchcontrols)