Интерфейс IADsExtension (iads.h)
Интерфейс IADsExtension является основой модели расширения приложения ADSI. Он позволяет независимому поставщику программного обеспечения добавлять в существующий объект ADSI поведение, зависящее от приложения, например методы или функции. Несколько поставщиков могут независимо расширять возможности одного и того же объекта для выполнения аналогичных, но несвязанных операций.
Модель расширения основана на модели агрегирования в COM. Агрегатор или внешний объект может добавлять к своей базе методы, методы агрегатного объекта или внутренний объект. Объект расширения ADSI, реализующий интерфейс IADsExtension , является агрегатным объектом, а поставщик ADSI — агрегатором.
- Компонент расширения требует уведомления об инициализации в соответствии с определением dwCode в методе Operate . В этом случае клиент расширения должен вызвать метод Operate . Два других метода, а именно PrivateInvoke и PrivateGetIDsOfNames, обычно возвращают E_NOTIMPL в значении HRESULT .
- Компонент расширения поддерживает любой двойной интерфейс или интерфейс диспетчеризации. В этом случае клиент расширения должен вызывать методы PrivateGetIDsOfNames или PrivateInvoke . Оператор обычно игнорирует данные и возвращает E_NOTIMPL в значении HRESULT .
Наследование
Интерфейс IADsExtension наследуется от интерфейса IUnknown . IADsExtension также имеет следующие типы элементов:
Методы
Интерфейс IADsExtension содержит следующие методы.
IADsExtension::Operate Интерпретирует код элемента управления и входные параметры в соответствии со спецификациями поставщика. |
IADsExtension::P rivateGetIDsOfNames Метод IADsExtension::P rivateGetIDsOfNames вызывается агрегатором ADSI после того, как ADSI определяет, что расширение используется для поддержки двойного интерфейса или интерфейса диспетчеризации. Метод может использовать данные типа для получения DISPID с помощью IDispatch::GetIDsOfNames. |
IADsExtension::P rivateInvoke Метод IADsExtension::P rivateInvoke обычно вызывается ADSI после метода IADsExtension::P rivateGetIDsOfNames. Этот метод может иметь пользовательскую реализацию или делегировать операцию методу IDispatch::D ispInvoke. |
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | iads.h |