12. Glossary

Automation

A way to manipulate objects within a scripting environment. Methods within an Automation environment are typically accessed through the IDispatch interface. Newer controllers such as Visual Basic 4.0 do not require IDispatch, but can query for any interface as done with standard COM programs.

Active Directory

A set of specifications of COM objects and interfaces. Administrators and ISVs can use the Active Directory objects to perform common administrative operations, such as adding new users or managing a print queue.

class

A template for properties, as well as code to define behavior. Depending on the context, "class" can take on several meanings:

collection

A group of objects that can be indexed numerically like an array or by name. Collections are described in terms of Automation. Collections are used mostly to support enumeration through an Active Directory container. The methods that are implemented by Active Directory containers to support collections include get_Count, get_Item, _NewEnum, get_Filter, and put_Filter. Collections work well with Automation controllers such as Visual Basic which provide special constructs like the For Each…Next construct for collection enumeration. The number of items within a collection can be retrieved by calling the get_Count method. A specific object within a collection can be retrieved by calling the get_Item method. Filtering for specific Active Directory object types can be achieved by setting Filter via the put_Filter method. Enumeration occurs by a controller calling the _NewEnum method. The _NewEnum method creates an enumerator object that supports the IEnumVariant interface. When the enumerator's IEnumVariant::Next method is called the next object in the collection is returned.

Component Object Model (COM)

The object-oriented programming model that defines how objects interact within a single application or between applications. In COM, clients have access to an object through a pointer to an interface on the object. See also interface.

component

An object that conforms to the component object model (COM). Clients deal with a component object only through a pointer to an interface (a related set of functions called methods). With the pointer, clients can call the methods that perform operations or manipulate the data associated with the object. Component objects are instances of an object definition, which specifies an implementation of the interfaces on the object.

In Active Directory, a component is the main object for accessing a set of related COM objects. The components in Active Directory are the top-level objects that can be instantiated and used to access dependent objects.

container

Any Active Directory object that supports one or more of the methods of the IADsContainer interface. The IADsContainer interface includes methods that support the following operations:

directory service

A logical database of information about a set of objects in the real world.

DS

Directory service.

enumerator

An object that supports the IEnumVARIANT interface, which provides a Next method to enumerate through a collection.

IDL

Interface Description Language. An IDL file contains the component definitions in much the same way a directory's schema database contains object class definitions. The IDL file compiles to a type library, which is a collection of definitions for any number of components. The keywords and syntax of the IDL file allow descriptions of interfaces and objects.

in-process DLL

An object server or application implemented as a DLL that runs in the process space of the application.

interface

A group of related functions that provide access to COM objects. The set of interfaces define a contract that allow objects to interact according to the Component Object Model (COM).

method

A function that provides a needed operation for an object. Related methods are organized into interfaces.

Namespace

A type of directory service.

NDS

NetWare Directory Services.

object

An instance of an entity that embodies both specific data and the functions that manipulate it. The only way to access the data is through interfaces. In COM, the operations on the data are methods grouped into an interface.

Specifically, in object-oriented programming, an object is an entity that has state, behavior and identity. An object's state consists of its attributes and the attributes' current values. An object's behavior consists of the operations that can be performed on it and the accompanying state changes. An object's identity is what you use to distinguish it from other objects.

In contrast, COM objects' behavior is defined by the interfaces it supports. A COM object's state is not explicitly specified, but is implied by its interfaces. A COM object's identity is defined by the ability to use IUnknown::QueryInterface to move between interfaces.

A COM object follows a specific model in which clients (those using an object's services) gain access to the object's data only through a pointer to an interface consisting of a set of methods (related functions). The client can then call these methods to perform desired operations. There is no direct access to an object's data.

A COM object differs from a C++ object in that C++ objects are restricted to live within the same application and written in the same language. COM objects encapsulate object capabilities behind interfaces and provide local/remote transparency for those interfaces.

property

A value that can be read or written. Properties are associated with an interface on an object. Mapping property reads to get_<property name> and property writes to put_<propertyname> methods within an interface.

provider

A vendor who supplies an implementation of the Active Directory objects for a particular namespace.

sub-object

A COM object within an Active Directory component that cannot be instantiated or accessed independently from the component object. Dependent objects are instantiated and accessed through methods in the interface of the component object.

trustee

A user with access rights to an object.