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 диспетчерский интерфейс события, реализуемого этим классом.
Члены
Открытые методы
Имя |
Описание |
---|---|
Устанавливает соединение с источником событий по умолчанию. |
|
Устанавливает соединение с источником события. |
|
Разрывает соединение с источником события. |
|
Возвращает E_NOTIMPL. |
|
Возвращает E_NOTIMPL. |
|
Возвращает E_NOTIMPL. |
|
Вызывает перечисляемое обработчиками событий в случае сопоставление приемников. |
|
Разрывает соединение с источником событий по умолчанию. |
Заметки
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