Platform SDK: Active Directory, ADSI, and Directory Services

Class Inheritance in the Active Directory Schema

All object classes in an Active Directory schema are derived from the special class top. With the exception of top, all object classes are subclasses of another object class. For example, contact is a subclass of organizationalPerson; organizationalPerson is a subclass of person; and person is a subclass of top. The subClassOf attribute of a classSchema object is a single-valued property that indicates the immediate superclass of the class.

Some of the attribute values that define a class are inherited from its superclasses. So, the contact class inherits values from its superclasses, which are the organizationalPerson, person, and top classes. A class inherits the following information from its superclasses:

Note that object class can also have any number of auxiliary classes, which are specified in the auxiliaryClass and systemAuxiliaryClass attributes of a classSchema object. An object class inherits mustContain, mayContain, systemMustContain, and systemMayContain values from its auxiliary classes.