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.
ADSI providers who want to support non-Automation clients must implement IDirectoryObject on objects defined in their schemas.
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.
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. |