Directory Services


The IADsExtension interface forms the basis of the ADSI application extension model. It enables an independent software vendor (ISV) to add application-specific behaviors, such as methods or functions, into an existing ADSI object. Multiple vendors can independently extend the features of the same object to perform similar, but unrelated operations.

The extension model is based on the aggregation model in COM. An aggregator, or outer object, can add to its base of methods, those of an aggregate object, or inner object. An ADSI extension object, which implements the IADsExtension interface, is an aggregate object, whereas an ADSI provider is an aggregator.

Note  When implementing an extension module, release an interface when finished with it. Otherwise, the aggregator cannot release the interface even when no longer required.

The IADsExtension interface can be used as follows:

Methods in Vtable Order

The IADsExtension interface inherits the methods of the standard COM interface IUnknown.

In addition, IADsExtension defines the following methods.

Method Description
Operate Performs the specified extended operation.
PrivateGetIDsOfNames Maps the name(s) to a DISPID.
PrivateInvoke Invokes methods of the extended object.


Client: Included in Windows XP and Windows 2000 Professional.
Server: Included in Windows Server 2003 and Windows 2000 Server.
Redistributable: Requires Active Directory Client Extension on Windows NT 4.0 SP6a and Windows 95/98/Me.
Header: Declared in Iads.h.