Active Directory Service Interfaces (ADSI) provide the means for client applications of directory services to use one set of interfaces to communicate with any namespace that provides an ADSI implementation. ADSI clients gain a simpler access to a namespace's services by being able to use the well-defined Active Directory Service Interfaces in place of the network-specific API calls.
Active Directory Service Interfaces conform to the Component Object Model and support standard COM features.
ADSI supplies both Automation-compliant interfaces for use by name-bound controllers like Java, Visual Basic, and VBScript and also non-Automation interfaces for language environments like C and C++ that can optimize for performance.
The pure COM interfaces IDirectoryObject and IDirectorySearch support directory queries and object management.
In addition, ADSI supplies its own OLE DB provider, so that any client already using OLE DB, including those using ActiveX Data Objects, can query directory services directly.
Web applications using Active Server Pages also can program access to directory services through ADSI.
ADSI clients can programmatically discover all the ADSI providers at a site and use the same interfaces to communicate with each namespace. As additional providers are installed, the ADSI clients can communicate, without recompiling, with the new namespaces as well.
ADSI supplies system providers for the LDAP, NDS, NetWare 3.x, and WinNT namespaces.