Schnelle Bindungsoption für Batchschreib-/Änderungsvorgänge

Wenn ein Verzeichnisdienstobjekt an gebunden ist, erstellt ADSI ein COM-Objekt, das das angegebene Verzeichnisobjekt darstellt. Bei der Bindung ruft ADSI in der Regel das objectClass-Attribut ab, sodass ADSI die COM-Schnittstellen verfügbar machen kann, die für diese Objektklasse geeignet sind. Beispielsweise würde ein Benutzerobjekt die IADsUser-Schnittstelle zusätzlich zu den adsi-Basisschnittstellen verfügbar machen, die für alle Objekte unterstützt werden. Bei einem einzelnen Vorgang sollte dies keine Auswirkungen auf die Leistung haben. Wenn jedoch Batchvorgänge ausgeführt werden, die Hunderte oder Tausende von Bindungen über eine langsame Verbindung erfordern, und diese Vorgänge Daten in den Verzeichnisdienst schreiben, kann es wünschenswert sein, vollständige Objektunterstützung für eine schnellere Bindung auszutauschen. Dies wird als schnelle Bindung bezeichnet und wird durch Angabe des ADS _ FAST _ BIND-Flags erreicht, wenn ADsOpenObject oder IADsOpenDSObject::OpenDSObject aufgerufen wird.

Für die schnelle Bindung gelten die folgenden Einschränkungen:

  • Der Bindungsvorgang muss mit der ADsOpenObject-Funktion oder der IADsOpenDSObject::OpenDSObject-Methode ausgeführt werden. Der Bindungsvorgang wird einmal statt zweimal an den Verzeichnisserver gesendet. ADSI ruft das objectClass-Attribut nicht ab und macht daher nur die ADSI-Basisschnittstellen für das Objekt verfügbar.

  • Die folgenden Schnittstellen werden für das COM-Objekt unterstützt:

  • Wenn die IADsContainer::GetObject-Methode zum Binden an untergeordnete Objekte verwendet wird, weist das untergeordnete Objekt die gleichen Eigenschaften für die schnelle Bindung auf wie das übergeordnete Objekt.

  • Das Vorhandensein des Objekts, an das gebunden wird, wird während des Bindungsvorgangs nicht überprüft, sodass nachfolgende Methodenaufrufe fehlschlagen, wenn das Objekt nicht vorhanden ist. Aus diesem Grund sollte die schnelle Bindung nur für Objekte verwendet werden, die bekanntermaßen vorhanden sind, z. B. direkt nach dem Ausführen einer Abfrage, die die Distinguished Names der Objekte zurückgegeben hat, an die gebunden wird.

  • ADSI-Erweiterungen werden für Objekte der obersten Klasse verfügbar gemacht. Daher werden nur die Erweiterungen für die oben aufgeführten ADSI-Basisschnittstellen verfügbar gemacht.