Angeben des Suchbereichs
Sie können den Bereich einer Suche entweder als Basissuche, eine Ebene oder eine Unterstruktursuche angeben. Verwenden Sie das ADS_SEARCHPREF_SEARCH_SCOPE-Flag mit den Werten der ADS_SCOPEENUM-Enumeration , um den Suchbereich anzugeben. Die folgende Liste enthält Beschreibungen der Suchtypen:
- Basis. Bei einer Basissuche wird die Suche auf das Basisobjekt beschränkt. Die maximale Anzahl der zurückgegebenen Objekte ist immer eins. Diese Suche ist nützlich, um das Vorhandensein eines Objekts zum Abrufen der Gruppenmitgliedschaft zu überprüfen. Wenn Sie z. B. über einen objektspezifischen Namen verfügen und das Vorhandensein des Objekts anhand des Pfads überprüfen müssen, können Sie eine Suche auf einer Ebene verwenden. Wenn die Suche fehlschlägt, können Sie davon ausgehen, dass das Objekt möglicherweise umbenannt oder an einen anderen Speicherort verschoben wurde, oder Dass Sie die falschen Informationen zum Objekt erhalten haben. Beachten Sie, dass Sie die GUID (Globally Unique Identifier) des Objekts anstelle des distinguished Namens speichern sollten, wenn Sie ein Objekt erneut aufrufen möchten. Die GUID verweist immer auf dasselbe Objekt, unabhängig davon, wo sich das Objekt innerhalb der Verzeichnishierarchie befindet.
- Eine Ebene. Eine Suche auf einer Ebene ist auf die unmittelbar untergeordneten Elemente eines Basisobjekts beschränkt, schließt jedoch das Basisobjekt selbst aus. Diese Einstellung kann eine gezielte Suche nach unmittelbar untergeordneten Objekten eines übergeordneten Objekts durchführen. Betrachten Sie beispielsweise ein übergeordnetes Objekt P1 und seine unmittelbaren untergeordneten Elemente: C1, C2 und C3. Bei einer Suche auf einer Ebene werden C1, C2 und C3 anhand der Suchkriterien ausgewertet, aber P1 nicht ausgewertet. Verwenden Sie eine Einebenensuche, um alle untergeordneten Elemente eines Objekts aufzulisten. Eine IADsContainer-Enumeration wird in eine Ein-Ebenen-Suche übersetzt.
- Unterstruktur. Eine Unterstruktursuche (oder eine tiefe Suche) umfasst alle untergeordneten Objekte sowie das Basisobjekt. Sie können den LDAP-Anbieter auffordern, Verweise auf andere LDAP-Verzeichnisdienste zu verfolgen, einschließlich anderer Verzeichnisdomänen oder Gesamtstrukturen.