6.1.4 Property Object

A property is an entity which signifies a storage area in an Directory. Properties are contained within class objects. A class can have multiple properties.

A property is described by its name, syntax, and qualifiers. Active Directory allows a provider to expose multiple names for the same property. Names for a property are exposed through:

The names exposed as described above for a given schema Property object must be valid for use in name-bound operations on that property (approaches 2 and 3 in Section 0)

Standard Active Directory objects expose properties through the defined interface for the object class in question, for example IADsUser (for user objects). . Providers can elect to expose additional properties and objects not defined by Active Directory. Providers that expose additional properties can expose them via additional interfaces, or via dynamic name-bound access (IADs.Get() and IADs.Put).

This object supports the mandatory IADs interface and one additional COM interface, IADsProperty.

6.1.4.1 Rules for creating a new Property object

6.1.4.2 IADsProperty

The IADsProperty interface is used to get and set the properties of the Property object. The interface definition is as follows:

[ object, uuid(IID_IADsProperty), oleautomation, dual ]

interface IADsProperty: IADs

{

// Read/write properties.

[propget]

HRESULT OID ([in]BSTR bstrOID);

[propput]

HRESULT OID ([out, retval]BSTR *pbstrOID);

[propget]

HRESULT Syntax ([out, retval]BSTR *pbstrSyntax);

[propput]

HRESULT Syntax ([in]BSTR bstrSyntax);

[propget]

HRESULT MaxRange ([out, retval]long *plMaxRange);

[propput]

HRESULT MaxRange ([in]long lMaxRange);

[propget]

HRESULT MinRange ([out, retval]long *plMinRange);

[propput]

HRESULT MinRange ([in]long lMinRange);

[propget]

HRESULT MultiValued ([out, retval]boolean *pbMultiValued);

[propput]

HRESULT MultiValued ([in]lboolean bMultiValued);

// Methods

HRESULT Qualifiers([out, retval]IADsCollection **ppQualifiers)

};

Method

Description

OID

Gets and sets the namespace-specific Object Identifier defining this property. This is provided to allow schema extension via Active Directory in namespaces that require namespace-specific OIDs for properties.

Syntax

Relative path of the schema syntax object defining the syntax of this property. Relative to the current schema container. A list of valid syntax objects can be enumerated in the schema.

MaxRange

Gets and sets the upper limit of values assigned to the property.

MinRange

Gets and sets the lower limit of values assigned to the property.

MultiValued

Gets and sets the boolean value that determines of this property is multi-valued. A TRUE value indicates the property is multi-valued.

Qualifiers

OPTIONAL method returning a collection of Active Directory objects describing additional qualifiers of this property. Qualifier objects are provider specific.

Providers that do not implement the Qualifiers collection must return E_NOTIMPL when the Qualifiers method is called.