IDirectoryObject

The IDirectoryObject interface provides clients written in C and C++ with direct access to directory service objects. The interface enables access by means of a direct on-the-wire protocol, rather than through the ADSI property cache. In place of the properties supported by the IADS interface, IDirectoryOBject provides methods that support a critical subset of an object's housekeeping properties and provide access to its attributes. With IDirectoryObject, a client can get or set any number of object attributes with one method call. Unlike the corresponding Automation methods, which are transacted, those of IDirectoryObject are executed as soon as they are called. Because methods on this interface do not require creating an instance of a directory object, the performance overhead is very low.

When to Implement

ADSI providers who want to support non-Automation clients must implement IDirectoryObject on objects defined in their schemas.

When to Use

Clients written in languages such as C and C++ should call the methods of IDirectoryObject to optimize perfomance and take full advantage of native directory service interfaces. Implement this interface only on a custom directory service provider. For information on how this interface is implemented on system-supplied providers, see ADSI System Providers.

Automation clients cannot use IDirectoryObject. Instead, they should call the IADS interface.

Methods in Vtable Order

IUnknown Methods Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments reference count.
Release Decrements reference count.

IDirectoryObject Methods Description
GetObjectInformation Gets information about a directory service object.
GetObjectAttributes Gets one or more attributes of a directory service object.
SetObjectAttributes Sets one or more attributes of a directory service object.
CreateDSObject Creates a directory service object.
DeleteDSObject Deletes a directory service object.

See Also

ADSI Object Model