Collections et groupes
ADSI utilise des objets de collection pour représenter tout ensemble arbitraire d’éléments dans un service d’annuaire qui peut être représenté à l’aide du même type de données. Les objets de collection sont définis comme un ensemble de valeurs VARIANT , représentant l’un des types de données Automation valides. Les objets de collection peuvent représenter à la fois des informations persistantes telles que des listes de contrôle d’accès et des informations volatiles telles que des travaux d’impression dans une file d’attente d’impression.
La convention COM standard pour répertorier le contenu d’un objet de collection (ou conteneur) consiste à créer un objet énumérateur qui prend en charge IEnumVARIANT, qui a des méthodes pour parcourir la liste des objets de collection. Les interfaces dans ADSI qui fournissent la méthode get__NewEnum (notez les deux traits de soulignement) sont IADsContainer, IADsMembers et IADsCollection. ADSI fournit également les fonctions d’assistance ADsBuildEnumerator et ADsEnumerateNext pour les programmes C et C++ afin de simplifier l’énumération. Les clients Automation utilisent l’énumération implicitement lorsqu’ils appellent Next dans une boucle For .
Les groupes sont simplement des collections d’objets prenant en charge l’interface IADsMembers .