Opzione fast binding per operazioni di scrittura/modifica batch

Quando un oggetto servizio directory è associato a , ADSI crea un oggetto COM che rappresenta l'oggetto directory specificato. Quando si esegue l'associazione, ADSI recupera in genere l'attributo objectClass in modo che ADSI possa esporre le interfacce COM appropriate per tale classe di oggetto. Ad esempio, un oggetto utente espone l'interfaccia IADsUser oltre alle interfacce ADSI di base supportate per tutti gli oggetti. Per una singola operazione, questa operazione non dovrebbe avere alcun effetto sulle prestazioni. Tuttavia, se vengono eseguite operazioni batch che richiedono centinaia o migliaia di associazioni su una connessione lenta e tali operazioni scrivono dati nel servizio directory, potrebbe essere preferibile scambiare il supporto completo degli oggetti per un'associazione più rapida. Questa operazione è nota come associazione rapida e viene eseguita specificando il flag ADS_FAST_BIND quando viene chiamato ADsOpenObject o IADsOpenDSObject::OpenDSObject.

L'associazione rapida presenta le restrizioni seguenti:

  • L'operazione di associazione deve essere eseguita con il metodo ADsOpenObject o IADsOpenDSObject::OpenDSObject. L'operazione di associazione passa al server di directory una volta anziché due volte. ADSI non recupera l'attributo objectClass e pertanto espone solo le interfacce ADSI di base per l'oggetto.

  • Per l'oggetto COM sono supportate le interfacce seguenti:

  • Se il metodo IADsContainer::GetObject viene utilizzato per l'associazione a oggetti figlio, l'oggetto figlio ha le stesse caratteristiche di associazione rapida dell'elemento padre.

  • L'esistenza dell'oggetto a cui viene associato non viene verificata durante l'operazione di associazione, pertanto le chiamate al metodo successive avranno esito negativo se l'oggetto non esiste. Per questo motivo, l'associazione rapida deve essere usata solo per gli oggetti a cui è noto l'esistenza, ad esempio, direttamente dopo l'esecuzione di una query che ha restituito i nomi distinti degli oggetti a cui è stato associato.

  • Le estensioni ADSI vengono esposte per gli oggetti di classe top. Pertanto, vengono esposte solo le estensioni per le interfacce ADSI di base elencate in precedenza.