Accessing All Properties in the Property Cache

In addition to the IADs methods that get and set individual properties in the cache, ADSI provides the IADsPropertyList, IADsPropertyEntry, and IADsPropertyValue interfaces that allow client software to access the property cache directly. These interfaces allow you to work with the properties without having to use the individual property names.

ADSI clients call:

Interface To:
IADsPropertyList Manage the entire list of properties defined on an object.
IADsPropertyEntry Manage individual property attributes and values.
IADsPropertyValue Read and write values for each property entry in the property cache.

The following figure shows the property cache as a table.

In the preceding figure, each entry in the cache contains the property name, the number of values that exist for the property, the data type needed to represent its information, and the actual value list. The ADSI property-cache interfaces represent each property entry. IADsPropertyEntry allows access to a single property in the cache and includes a pointer to the list of IADsPropertyValue pointers needed to represent each value. IADsPropertyList allows you to manage the property entries, including enumerating all the properties in the cache.