批次寫入/修改作業的快速系結選項
當目錄服務對象系結至時,ADSI 會建立 COM 物件,代表指定的目錄物件。 系結時,ADSI 通常會擷 取 objectClass 屬性,讓 ADSI 可以公開適用於該物件類別的 COM 介面。 例如,除了支援所有物件的基底 ADSI 介面之外,用戶物件也會公開 IADsUser 介面。 對於單一作業,這應該不會影響效能。 不過,如果批次作業在執行時需要數百或數千個系結,且這些作業正在將數據寫入目錄服務,則可能需要交換完整的物件支援,以加快系結速度。 這稱為快速系結,方法是在呼叫 ADsOpenObject 或 IADsOpenDSObject::OpenDSObject 時指定ADS_FAST_BIND旗標來完成。
快速系結具有下列限制:
系結作業必須使用 ADsOpenObject 函式或 IADsOpenDSObject::OpenDSObject 方法執行。 系結作業會移至目錄伺服器一次,而不是兩次。 ADSI 不會擷 取 objectClass 屬性,因此只會公開物件的基底 ADSI 介面。
COM 物件支援下列介面:
如果使用 IADsContainer::GetObject 方法系結至子物件,則子物件具有與父系相同的快速系結特性。
系結作業期間未驗證系結至 的物件存在,因此如果物件不存在,後續的方法呼叫將會失敗。 因此,快速系結應該只用於已知存在的物件,例如,在執行傳回所系結物件辨別名稱的查詢之後直接使用。
ADSI 延伸模組會針對類別 頂端的對象公開。 因此,只會公開上述基底 ADSI 介面的延伸模組。