Utilisation des interfaces IADs
ADSI, chaque élément d’un service d’annuaire est représenté par un objet ADSI, qui est un objet COM (Component Object Model) qui prend en charge l’interface COM IUnknown standard ainsi que les interfaces IDispatch et IADs . Les IAD fournissent les fonctions de maintenance de base pour les objets ADSI.
Chaque objet ADSI doit prendre en charge cette interface, qui sert à :
- Fournissez l’identification de l’objet par nom, classe ou ADsPath.
- Identifiez le conteneur d’objets qui gère la création et la suppression d’objets.
- Obtenez la définition du schéma d’objet.
- Chargez les attributs de l’objet dans le cache de propriétés et validez les modifications apportées au magasin d’annuaires persistant.
- Accédez aux valeurs d’attribut d’objet et modifiez-les dans le cache de propriétés.
L’interface IADs est conçue pour garantir que les objets ADSI fournissent aux administrateurs réseau et aux fournisseurs de services d’annuaire une représentation efficace et cohérente des différents services d’annuaire sous-jacents.
La figure précédente montre un objet ADSI générique qui prend en charge les iads d’interfaces fondamentales, IADsPropertyList, IUnknown, IDirectoryObject et IDispatch. Un objet ADSI tel que celui-ci gère les données du magasin de données du service d’annuaire sous-jacent via les interfaces qu’il prend en charge. Ces données sont appelées propriétés de l’objet, et les routines qui obtiennent et définissent ces propriétés sont appelées méthodes de propriété. Les propriétés en lecture seule ont une méthode de propriété qui obtient la valeur de la propriété. Les propriétés en lecture/écriture ont deux méthodes : méthode qui définit la valeur et une méthode qui obtient la valeur. Les propriétés sont implémentées sur chaque objet ADSI à l’aide d’un cache de propriétés. IADs::get_ADsPath et IADs::p ut_ADsPath sont des exemples de méthodes de propriété. Les méthodes de propriété ne sont pas visibles pour Visual Basic et d’autres clients Automation qui activent des références directes à la propriété. Par exemple, Visual Basic fait référence à IADs::ADsPath directement à l’aide de la syntaxe Object.ADsPath . Pour plus d’informations, consultez Méthodes de propriété d’interface.
En outre, un objet ADSI interagit avec d’autres objets ADSI et directement avec un espace de noms via des méthodes. Les méthodes s’exécutent immédiatement. Des exemples de méthodes incluent IADs::SetInfo et IADs::GetInfo.
Les propriétés, les méthodes de propriété et les méthodes sont toutes accessibles via des interfaces COM standard.
Un objet ADSI est identifié de manière unique par son ADsPath. Par exemple, un ADsPath pour l’espace de noms LDAP est « LDAP://MyServer/DC=Fabrikam,DC=COM ». Pour plus d’informations sur ADsPaths, consultez Liaison ADSI. Pour les programmeurs familiarisés avec les monikers COM, il s’agit d’un concept similaire au nom d’affichage du moniker COM.
Tout objet ADSI qui contient d’autres objets ADSI, appelés objet conteneur ADSI, prend également en charge l’interface IADsContainer , qui fournit des méthodes et des propriétés qui gèrent la création, la suppression et l’énumération d’objets ADSI contenus par l’objet . La figure suivante montre un objet conteneur ADSI.
La plupart des objets ADSI sont contenus par d’autres objets. Le seul objet ADSI sans conteneur parent est l’objet Namespaces ADSI de niveau supérieur (« ADS : »).
La méthode IADs::SetInfo sur un objet conteneur stocke de manière permanente les propriétés mises en cache de l’objet conteneur ADSI dans le stockage en plus des objets créés avec la méthode IADsContainer::Create . IADsContainer::D elete n’affecte pas le cache de propriétés, mais supprime l’élément de répertoire d’espace de noms sous-jacent représenté par cet objet.