Active Directory Service Interfaces (ADSI) supports a rich set of interfaces that can be classified according to the following categories:
- Core. These interfaces provide the basic object management functions of ADSI objects. The core functions include providing an entry point into a directory store, loading properties into the property cache, and committing changes to the underlying directory.
- Schema. These interfaces provide methods for managing and extending the directory schema.
- Property Cache. These interfaces define methods for manipulating properties in the property cache.
- Persistent Object. These interfaces manipulate persistent data in the namespace of the underlying directory service. ADSI objects implement these types of interfaces to provide access to their persistent data, including user accounts, file shares, organizational hierarchies, and job listings in a print queue.
- Dynamic Object. These interfaces work with dynamic data in a directory service. Directory objects not represented in the underlying directory service implement such interfaces. Examples of dynamic data include commands issued over a network.
- Security. These interfaces enable an ADSI client to establish its credentials to a server and use security features that the directory service supports, such as the access control list or security descriptors.
- Non-Automation. These interfaces allow non-Automation clients (for example, C/C++ applications) low-overhead access to directory objects by providing Vtable access to methods for managing and searching directory service objects.
- Extension. These interfaces allow ADSI clients to extend the features of existing ADSI classes to offer customized solutions to directory services.
- Utility. These interfaces provide advanced helper functions for managing ADSI objects.
- Data Type. These interfaces provide methods to access ADSI data types.