Sammlungen und Gruppen
ADSI verwendet Sammlungsobjekte, um beliebige Elemente in einem Verzeichnisdienst darzustellen, die mit demselben Datentyp dargestellt werden können. Sammlungsobjekte werden als eine Gruppe von VARIANT-Werten definiert, die einen der gültigen Automation-Datentypen darstellen. Sammlungsobjekte können sowohl persistente Informationen wie Zugriffssteuerungslisten als auch flüchtige Informationen wie Druckaufträge in einer Druckwarteschlange darstellen.
Die COM-Standardkonvention zum Auflisten des Inhalts eines Auflistungsobjekts (oder eines Containerobjekts) besteht darin, ein Enumeratorobjekt zu erstellen, das IEnumVARIANT unterstützt, das Über Methoden zum Durchlaufen der Liste der Auflistungsobjekte verfügt. Die Schnittstellen in ADSI, die die get__NewEnum-Methode bereitstellen (beachten Sie die beiden Unterstriche), sind IADsContainer, IADsMembers und IADsCollection. ADSI stellt auch die Hilfsfunktionen ADsBuildEnumerator und ADsEnumerateNext für C und C++ zur Vereinfachung der Enumeration bereit. Automatisierungsclients verwenden die Enumeration implizit, wenn sie Next in einer For-Schleife aufrufen.
Gruppen sind einfach Sammlungen von Objekten, die die IADsMembers-Schnittstelle unterstützen.