Опция быстрой привязки для пакетных операций записи/изменения
При привязке объекта службы каталогов ADSI создает COM-объект, представляющий указанный объект каталога. При привязке ADI обычно извлекает атрибут objectClass, чтобы ADSI могли предоставлять интерфейсы COM, подходящие для этого класса объекта. Например, объект пользователя предоставляет интерфейс IADsUser помимо базовых интерфейсов ADSI, поддерживаемых для всех объектов. Для одной операции это не должно влиять на производительность. Однако если пакетные операции выполняются, для которых требуются сотни или тысячи привязок по медленному подключению, и эти операции записывают данные в службу каталогов, может потребоваться обмен полной поддержкой объектов для более быстрой привязки. Это называется быстрой привязкой и выполняется путем указания флага ADS_FAST_BIND при вызове ADsOpenObject или IADsOpenDSObject::OpenDSObject.
Быстрая привязка имеет следующие ограничения:
Операция привязки должна выполняться с помощью функции ADsOpenObject или метода IADsOpenDSObject::OpenDSObject. Операция привязки переходит на сервер каталогов один раз, а не дважды. ADSI не извлекает атрибут objectClass, поэтому предоставляет только базовые интерфейсы ADSI для объекта.
Для COM-объекта поддерживаются следующие интерфейсы:
Если метод IADsContainer::GetObject используется для привязки к дочерним объектам, дочерний объект имеет те же характеристики быстрого привязки, что и родительский объект.
Существование объекта, привязанного к ней, не проверяется во время операции привязки, поэтому последующие вызовы метода завершаются ошибкой, если объект не существует. Из-за этого быстрая привязка должна использоваться только для объектов, которые, как известно, существуют, например, непосредственно после выполнения запроса, возвращающего различающиеся имена объектов, к которым привязаны.
Расширения ADSI предоставляются для объектов класса top. Поэтому предоставляются только расширения для базовых интерфейсов ADSI, перечисленных выше.