抽象架构
架构容器包含所有 classSchema 和 attributeSchema 对象,这些对象定义目录林中可以存在的类和属性。 架构容器还包含 subSchema 类名为 Aggregate 的对象。 此 subSchema 对象称为抽象架构。
抽象架构包含存储在 classSchema 和 attributeSchema 对象中的数据子集。 其用途是提供一种简单高效的机制,用于检索类和属性定义的常用元素。 例如,若要检索对象类的可选属性和必需属性,请绑定到多个对象,以从类及其所有超类,以及从类及其超类的任何辅助类中,收集 mayContain、mustContain、systemMayContain 和 systemMustContain 值。 抽象架构方便地在单个对象中收集所有这些数据。
与 Active Directory 域服务中的任何对象一样,可以绑定到 subSchema 对象并读取其属性,从而解析字符串值,以检索所需的数据。 但是,ADSI 提供了一组接口,以便更轻松地读取抽象架构。 有关详细信息,请参阅读取抽象架构。
下表列出了 subSchema 对象的关键属性。
Attribute | 说明 |
---|---|
attributeTypes | 一个多值属性,其中包含表示架构中每个属性的字符串。 每个值都包含 attributeID、lDAPDisplayName、attributeSyntax、rangeLower、rangeUpper,以及一个指示属性是否可以具有多个值的项。 |
extendedAttributeInfo | 一个多值属性,其中包含表示每个属性的其他数据的字符串。 每个值都包含 attributeID、lDAPDisplayName、schemaIDGUID 和 attributeSecurityGUID。 |
extendedClassInfo | 一个多值属性,其中包含表示每个类的其他数据的字符串。 每个值都包含类的 governsID、lDAPDisplayName 和 schemaIDGUID。 |
objectClasses | 一个多值属性,其中包含表示架构中每个类的字符串。 每个值都包含 governsID、lDAPDisplayName、mustContain、mayContain 等。 |