Interfacce dello schema
Il contenitore dello schema contiene un set di definizioni di schema associate a parte dell'albero dello spazio dei nomi del provider. In genere, ogni istanza di uno spazio dei nomi ha uno schema specifico. Nella figura seguente, ad esempio, il provider di esempio ADSI definisce un contenitore di schemi in ognuno dei nodi radice "Seattle" e "Toronto".
Per creare un'implementazione ADSI per un provider, è necessario fornire oggetti di gestione dello schema che riflettono lo spazio dei nomi sottostante del provider e che supportano le interfacce dello schema ADSI. Di seguito è riportato un elenco delle interfacce dello schema ADSI, contenute nel contenitore dello schema.
- IADsClass rappresenta le classi del servizio directory.
- IADsProperty rappresenta le proprietà del servizio directory con valori singoli o multipli.
- IADsSyntax rappresenta il singolo tipo VARIANT.
Le interfacce definite da ADSI possono supportare proprietà e sintassi specifiche per il provider. I provider possono scegliere di estendere una definizione ADSI usando i metodi che creano e accedono alle proprietà, ad esempio, è possibile usare i metodi dell'interfaccia IADs, ad esempio Get, GetEx, Put e PutEx. I provider possono anche supportare proprietà aggiuntive tramite interfacce aggiuntive. Per un elenco completo delle interfacce ADSI, vedere Interfacce ADSI.
Un componente del provider ADSI con uno spazio dei nomi complesso potrebbe consentire l'esistenza di più schemi in un'istanza dello spazio dei nomi, ognuno in una parte diversa dell'albero. La proprietà IADs::Schema di un oggetto, tuttavia, assegna sempre un nome alla propria definizione dello schema.