IADsExtension interface (iads.h)
The IADsExtension interface forms the basis of the ADSI application extension model. It enables an independent software vendor (ISV) to add application-specific behaviors, such as methods or functions, into an existing ADSI object. Multiple vendors can independently extend the features of the same object to perform similar, but unrelated operations.
The extension model is based on the aggregation model in COM. An aggregator, or outer object, can add to its base of methods, those of an aggregate object, or inner object. An ADSI extension object, which implements the IADsExtension interface, is an aggregate object, whereas an ADSI provider is an aggregator.
- The extension component requires an initialization notification as defined by dwCode in the Operate method. In this case, an extension client must call the Operate method. The other two methods, namely, PrivateInvoke and PrivateGetIDsOfNames, usually return E_NOTIMPL in the HRESULT value.
- The extension component supports any dual or dispatch interface. In this case, an extension client must call the PrivateGetIDsOfNames or PrivateInvoke methods. Operate usually ignores the data and returns E_NOTIMPL in the HRESULT value.
Inheritance
The IADsExtension interface inherits from the IUnknown interface. IADsExtension also has these types of members:
Methods
The IADsExtension interface has these methods.
IADsExtension::Operate Interprets the control code and input parameters according to the specifications of the provider. |
IADsExtension::PrivateGetIDsOfNames The IADsExtension::PrivateGetIDsOfNames method is called by the aggregator, ADSI, after ADSI determines that the extension is used to support a dual or dispatch interface. The method can use the type data to get DISPID using IDispatch::GetIDsOfNames. |
IADsExtension::PrivateInvoke The IADsExtension::PrivateInvoke method is normally called by ADSI after the IADsExtension::PrivateGetIDsOfNames method. This method can either have a custom implementation or it can delegate the operation to IDispatch::DispInvoke method. |
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Minimum supported server | Windows Server 2008 |
Target Platform | Windows |
Header | iads.h |