Condividi tramite


Uso delle interfacce IAD

ADSI, ogni elemento di un servizio directory è rappresentato da un oggetto ADSI, ovvero un oggetto COM (Component Object Model) che supporta l'interfaccia IUnknown COM standard, nonché le interfacce IDispatch e IADs. Gli ID id forniscono le funzioni di manutenzione di base per gli oggetti ADSI.

Ogni oggetto ADSI deve supportare questa interfaccia, che serve a:

  • Specificare l'identificazione dell'oggetto per nome, classe o ADsPath.
  • Identificare il contenitore di oggetti che gestisce la creazione e l'eliminazione di oggetti.
  • Ottenere la definizione dello schema dell'oggetto.
  • Caricare gli attributi dell'oggetto nella cache delle proprietà ed eseguire il commit delle modifiche nell'archivio directory persistente.
  • Accedere e modificare i valori degli attributi dell'oggetto nella cache delle proprietà.

L'interfaccia IAD è progettata per garantire che gli oggetti ADSI forniscano agli amministratori di rete e ai provider di servizi directory una rappresentazione efficiente e coerente dei vari servizi directory sottostanti.

adsi object supporting the iads interface

La figura precedente mostra un oggetto ADSI generico che supporta gli ID di interfaccia fondamentali, IADsPropertyList, IUnknown, IDirectoryObject e IDispatch. Un oggetto ADSI, ad esempio questo, gestisce i dati dall'archivio dati del servizio directory sottostante tramite le interfacce supportate. Questi dati sono noti come proprietà dell'oggetto e le routine che ottengono e impostano queste proprietà sono note come metodi di proprietà. Le proprietà di sola lettura hanno un metodo di proprietà che ottiene il valore della proprietà. Le proprietà di lettura/scrittura hanno due metodi; metodo che imposta il valore e uno che ottiene il valore. Le proprietà vengono implementate in ogni oggetto ADSI usando una cache delle proprietà. IADs::get_ADsPath e IADs::p ut_ADsPath sono esempi di metodi di proprietà. I metodi delle proprietà non sono evidenti in Visual Basic e in altri client di automazione che consentono riferimenti diretti alla proprietà . Ad esempio, Visual Basic fa riferimento a IADs::ADsPath direttamente usando la sintassi Object.ADsPath. Per altre informazioni, vedere Metodi di proprietà dell'interfaccia.

Inoltre, un oggetto ADSI interagisce con altri oggetti ADSI e direttamente a uno spazio dei nomi tramite metodi. I metodi vengono eseguiti immediatamente. Esempi di metodi includono IADs::SetInfo e IADs::GetInfo.

Le proprietà, i metodi di proprietà e i metodi sono tutti accessibili tramite interfacce COM standard.

Un oggetto ADSI viene identificato in modo univoco dal relativo ADsPath. Ad esempio, un ADsPath per lo spazio dei nomi LDAP è "LDAP://MyServer/DC=Fabrikam,DC=COM". Per altre informazioni su ADsPaths, vedere Associazione ADSI. Per i programmatori che hanno familiarità con i moniker COM, questo è concettualmente simile al nome visualizzato del moniker COM.

Qualsiasi oggetto ADSI che contiene altri oggetti ADSI, denominati oggetto contenitore ADSI, supporta anche l'interfaccia IADsContainer , che fornisce metodi e proprietà che gestiscono la creazione, l'eliminazione e l'enumerazione degli oggetti ADSI contenuti dall'oggetto . La figura seguente mostra un oggetto contenitore ADSI.

adsi container object

La maggior parte degli oggetti ADSI è contenuta in altri oggetti. L'unico oggetto ADSI senza contenitore padre è l'oggetto spazio dei nomi ADSI di primo livello ("ADS:").

Il metodo IADs::SetInfo in un oggetto contenitore archivia in modo permanente le proprietà memorizzate nella cache dell'oggetto contenitore ADSI per l'archiviazione oltre a qualsiasi oggetto creato con il metodo IADsContainer::Create. IADsContainer::D elete non influisce sulla cache delle proprietà, ma elimina l'elemento della directory dello spazio dei nomi sottostante rappresentato da questo oggetto.