Поделиться через


IDispEventSimpleImpl Class

Этот класс предоставляет реализации методов IDispatch без получения сведений о типе из библиотеки типов.

Важно!

Этот класс и его члены нельзя использовать в приложениях, выполняемых в Среда выполнения Windows.

template < 
UINT nID, 
class T, 
const IID* pdiid 
> 
class ATL_NO_VTABLE IDispEventSimpleImpl : 
public _IDispEventLocator<nID, pdiid>

Параметры

  • nID
    Уникальный идентификатор для исходного объекта. При IDispEventSimpleImpl базовый класс для составного элемента управления, используйте идентификатор требуемого ресурса, содержащихся элементов управления для этого параметра. В других случаях, используйте произвольное положительное целое число.

  • T
    Класс, производный от IDispEventSimpleImpl пользователя.

  • pdiid
    Указатель на идентификатор IID диспетчерский интерфейс события, реализуемого этим классом.

Члены

Открытые методы

Имя

Описание

IDispEventSimpleImpl::Advise

Устанавливает соединение с источником событий по умолчанию.

IDispEventSimpleImpl::DispEventAdvise

Устанавливает соединение с источником события.

IDispEventSimpleImpl::DispEventUnadvise

Разрывает соединение с источником события.

IDispEventSimpleImpl::GetIDsOfNames

Возвращает E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfo

Возвращает E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfoCount

Возвращает E_NOTIMPL.

IDispEventSimpleImpl::Invoke

Вызывает перечисляемое обработчиками событий в случае сопоставление приемников.

IDispEventSimpleImpl::Unadvise

Разрывает соединение с источником событий по умолчанию.

Заметки

IDispEventSimpleImpl предоставляет способ реализации диспетчерский интерфейс события, не требуя указанных код реализации для каждого метода или события, в этом интерфейсе. IDispEventSimpleImpl предоставляет реализации методов IDispatch. Нужно только предоставить реализацию для событий, что нужно знать обработки.

Рабочие IDispEventSimpleImpl совместно с сопоставление приемника событий в классе для направления события в соответствующее обработчик функции. Использовать этот класс.

  • Добавить макрос SINK_ENTRY_INFORMATION к сопоставлению приемника событий для всех событий для каждого объекта, который необходимо обработать.

  • Предоставляет сведения о типе для каждого события, передавая указатель на структуру _ATL_FUNC_INFORMATION в качестве параметра для каждой записи. На платформах x86, значение _ATL_FUNC_INFO.cc должно быть CC_CDECL с функция обратного вызова при вызове метода __stdcall.

  • Вызовите DispEventAdvise для установки подключения между исходный объект, а базовый класс.

  • Вызов DispEventUnadvise для прерывания соединение.

Необходимо наследовать IDispEventSimpleImpl (с использованием уникальное значение для nID) для каждого объекта, для которого нужно обрабатывать события. Можно повторно использовать базовый класс, unadvising к одному объекту-источнику затем советуя относительно другого объекта источника, но максимальное число исходных объектов, которые могут быть одним объектом обработаны одновременно ограничено числом базовых классов IDispEventSimpleImpl.

IDispEventSimplImpl предоставляет те же функциональные возможности, что IDispEventImpl, за исключением того, что она не получает сведения о типе об интерфейсе из библиотеки типов. Мастеры создают код на основе только на IDispEventImpl, но можно использовать IDispEventSimpleImpl путем добавления кода вручную. Используйте IDispEventSimpleImpl при отсутствии библиотеку типов, описывающую интерфейс события или не понадобиться, чтобы избежать издержек, связанных с использованием библиотеки типов.

Примечание

IDispEventImpl и IDispEventSimpleImpl обеспечивают собственную реализацию IUnknown::QueryInterface что каждый базовый класс IDispEventImpl или IDispEventSimpleImpl, чтобы задействовать его как отдельный идентификатор модели COM, пока все еще, обеспечивая прямой доступ к членам класса в основном COM-объект.

Реализация библиотеки ATL CE событий ActiveX только обозреватель типов тонет возвращаемые значения HRESULT или свободного пространства из методов обработчика событий; любое другое возвращаемое значение не поддерживается и его функциональности не определено.

Дополнительные сведения см. в разделе Поддержка IDispEventImpl.

Иерархия наследования

_IDispEvent

_IDispEventLocator

IDispEventSimpleImpl

Требования

Header: atlcom.h

См. также

Ссылки

_ATL_FUNC_INFO Structure

IDispatchImpl Class

IDispEventImpl Class

SINK_ENTRY_INFO

Другие ресурсы

ATL Class Overview