Kolekcje i grupy
Interfejs ADSI używa obiektów kolekcji do reprezentowania dowolnego zestawu elementów w usłudze katalogowej, które mogą być reprezentowane przy użyciu tego samego typu danych. Obiekty kolekcji są definiowane jako zestaw wartości VARIANT reprezentujący dowolny z prawidłowych typów danych usługi Automation. Obiekty kolekcji mogą reprezentować zarówno trwałe informacje, jak listy kontroli dostępu, jak i nietrwałe informacje, takie jak zadania drukowania w kolejce wydruku.
Standardową konwencją COM służącą do wyświetlania zawartości obiektu kolekcji (lub kontenera) jest utworzenie obiektu wyliczającego obsługującego IEnumVARIANT, który zawiera metody przechodzenia przez listę obiektów kolekcji. Interfejsy w usłudze ADSI dostarczające metodę get__NewEnum (zwróć uwagę na dwa podkreślenia) są IADsContainer, IADsMembers i IADsCollection. AdsI udostępnia również funkcje pomocnicze ADsBuildEnumerator i ADsEnumerateNext dla programów C i C++, aby uprościć wyliczanie. Klienci usługi Automation używają wyliczania niejawnie podczas wywoływania Next w pętli For.
Grupy to po prostu kolekcje obiektów obsługujących interfejs IADsMembers.