2.3.1 Provider Implementation of Active Directory Properties
Active Directory defines two base interfaces, IADs (see 0) and IADsContainer (see 0). Properties of these interafaces are mandatory and must be implemented by all providers. Active Directory defines standard interfaces for Active Directory objects in the form IADs<object name>, for example IADsUser. A given interface can be left unimplemented, but the provider must return E_NOTIMPL if this is the case. Not all properties defined for a given standard interface may be available in the underlying DS for each provider: in this case the provider must return E_ADS_PROPERTY_NOT_SUPPORTED when these properties are referenced.