Condividi tramite


Interfaccia IADsExtension (iads.h)

L'interfaccia IADsExtension costituisce la base del modello di estensione dell'applicazione ADSI. Consente a un fornitore di software indipendente (ISV) di aggiungere comportamenti specifici dell'applicazione, ad esempio metodi o funzioni, in un oggetto ADSI esistente. Più fornitori possono estendere in modo indipendente le funzionalità dello stesso oggetto per eseguire operazioni simili, ma non correlate.

Il modello di estensione si basa sul modello di aggregazione in COM. Un aggregatore o un oggetto esterno può aggiungere alla base dei metodi, quelli di un oggetto aggregato o di un oggetto interno. Un oggetto di estensione ADSI, che implementa l'interfaccia IADsExtension , è un oggetto di aggregazione, mentre un provider ADSI è un aggregatore.

Nota Quando si implementa un modulo di estensione, rilasciare un'interfaccia al termine. In caso contrario, l'aggregator non può rilasciare l'interfaccia anche quando non è più necessario.
 
L'interfaccia IADsExtension può essere usata come segue:
  • Il componente di estensione richiede una notifica di inizializzazione definita da dwCode nel metodo Operate . In questo caso, un client di estensione deve chiamare il metodo Operate . Gli altri due metodi, ovvero PrivateInvoke e PrivateGetIDsOfNames, in genere restituiscono E_NOTIMPL nel valore HRESULT .
  • Il componente di estensione supporta qualsiasi interfaccia dual o dispatch. In questo caso, un client di estensione deve chiamare i metodi PrivateGetIDsOfNames o PrivateInvoke . Il funzionamento ignora in genere i dati e restituisce E_NOTIMPL nel valore HRESULT .

Ereditarietà

L'interfaccia IADsExtension eredita dall'interfaccia IUnknown . IADsExtension include anche questi tipi di membri:

Metodi

L'interfaccia IADsExtension include questi metodi.

 
IADsExtension::Operate

Interpreta il codice di controllo e i parametri di input in base alle specifiche del provider.
IADsExtension::P rivateGetIDsOfNames

Il metodo IADsExtension::P rivateGetIDsOfNames viene chiamato dal aggregator, ADSI, dopo che ADSI determina che l'estensione viene usata per supportare un'interfaccia dual o dispatch. Il metodo può usare i dati di tipo per ottenere DISPID usando IDispatch::GetIDsOfNames.
IADsExtension::P rivateInvoke

Il metodo IADsExtension::P rivateInvoke viene normalmente chiamato da ADSI dopo il metodo IADsExtension::P rivateGetIDsOfNames. Questo metodo può avere un'implementazione personalizzata oppure può delegare l'operazione a IDispatch::D ispInvoke.

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h