Collection objects are used to represent a property as an arbitrary set of items. A collection is different from an array, since items can be added and removed from the collection without having to manipulate the whole collection in memory.
The collection object is defined as a set of VARIANTs. In this way, a collection can be a collection of any of the legal Automation data types. By convention, all collections defined by Active Directory Service Interfaces are homogeneous; that is, they contain items of one data type only, for example VT_BSTR or VT_I2, etc.
Collection objects in Active Directory Service Interfaces can be persisted in the underlying store, or can be used to return volatile information in lists that are not persisted in the underlying namespace. Examples of volatile information include lists of print jobs, communications sessions active at a server, and so on.