Freigeben über


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 für alle Objekte unterstützten BASIS-ADSI-Schnittstellen verfügbar machen. 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, die vollständige Objektunterstützung für eine schnellere Bindung auszutauschen. Dies wird als fast-bind bezeichnet und wird durch Angeben des ADS_FAST_BIND-Flags erreicht, wenn ADsOpenObject oder IADsOpenDSObject::OpenDSObject aufgerufen wird.

Die schnelle Bindung hat 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 übertragen. 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 verwendet wird, um an untergeordnete Objekte zu binden, weist das untergeordnete Objekt dieselben 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, von denen bekannt ist, dass sie vorhanden sind, z. B. direkt nach dem Ausführen einer Abfrage, die die distinguished Names der Objekte zurückgegeben hat, an die gebunden werden.

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