Класс IDispEventImpl
Этот класс предоставляет реализации методов IDispatch.
Важно |
---|
Этот класс и его члены нельзя использовать в приложениях, выполняемых в Среда выполнения Windows. |
template <
UINT nID,
class T,
const IID* pdiid= &IID_NULL,
const GUID* plibid= &GUID_NULL,
WORD wMajor= 0,
WORD wMinor= 0,
class tihclass= CcomTypeInfoHolder
>
class ATL_NO_VTABLE IDispEventImpl :
public IDispEventSimpleImpl<nID, T, pdiid>
Параметры
nID
Уникальный идентификатор для исходного объекта.При IDispEventImpl базовый класс для составного элемента управления, используйте идентификатор требуемого ресурса, содержащихся элементов управления для этого параметра.В других случаях, используйте произвольное положительное целое число.T
Класс, производный от IDispEventImpl пользователя.pdiid
Указатель на идентификатор IID диспетчерский интерфейс события, реализуемого этим классом.Этот интерфейс должен быть определен в библиотеке типов, указанной plibid, wMajor и wMinor.plibid
Указатель на библиотеку типов, которая определяет интерфейс диспетчера указал на pdiid.Если &GUID_NULL библиотека типов будет загружено из поиска объекта события.wMajor
Основной номер версии библиотеки типов.Значение по умолчанию - 0.wMinor
Дополнительный номер версии библиотеки типов.Значение по умолчанию - 0.tihclass
Класс, используемый для управления сведения о типе для T.По умолчанию класс типа CComTypeInfoHolder; однако можно переопределить этот параметр шаблона, предоставляя класс типа, за исключением CComTypeInfoHolder.
Члены
Открытые определения типов
Имя |
Описание |
---|---|
Класс, используемый для управления сведения о типе.По умолчанию — CComTypeInfoHolder. |
Открытые конструкторы
Имя |
Описание |
---|---|
Конструктор. |
Открытые методы
Имя |
Описание |
---|---|
Находит индекс функции для заданного идентификатора диспетчера. |
|
Сопоставляет один элемент и необязательный набор имен аргументов к соответствующему набору целого числа идентификаторов dispid. |
|
Извлекает сведения о типе объекта. |
|
Извлекает число интерфейсов сведений о типе. |
|
Возвращает базовый тип пользовательского типа. |
Заметки
IDispEventImpl предоставляет способ реализации диспетчерский интерфейс события, не требуя указанных код реализации для каждого метода или события, в этом интерфейсе.IDispEventImpl предоставляет реализации методов IDispatch.Нужно только предоставить реализацию для событий, что нужно знать обработки.
Рабочие IDispEventImpl совместно с сопоставление приемника событий в классе для направления события в соответствующее обработчик функции.Использовать этот класс.
Добавить макрос SINK_ENTRY или SINK_ENTRY_EX к сопоставлению приемника событий для всех событий для каждого объекта, который необходимо обработать.При использовании IDispEventImpl в качестве базового класса составного элемента управления можно вызвать AtlAdviseSinkMap для задания и критические соединение с источниками событий для всего сопоставления приемников записей в случае.В других случаях или для больших элемента управления, DispEventAdvise вызова для установки подключения между исходный объект, а базовый класс.Вызов DispEventUnadvise для прерывания соединение.
Необходимо наследовать IDispEventImpl (с использованием уникальное значение для nID) для каждого объекта, для которого нужно обрабатывать события.Можно повторно использовать базовый класс, unadvising к одному объекту-источнику затем советуя относительно другого объекта источника, но максимальное число исходных объектов, которые могут быть одним объектом обработаны одновременно ограничено числом базовых классов IDispEventImpl.
IDispEventImpl предоставляет те же функциональные возможности, что IDispEventSimpleImpl, за исключением того, что она возвращает сведения о типе об интерфейсе из библиотеки типов, а не его с предоставленными как указатель на структуру _ATL_FUNC_INFORMATION.Используйте IDispEventSimpleImpl при отсутствии библиотеку типов, описывающую интерфейс события или не понадобиться, чтобы избежать издержек, связанных с использованием библиотеки типов.
Примечание |
---|
IDispEventImpl и IDispEventSimpleImpl обеспечивают собственную реализацию IUnknown::QueryInterface что каждый базовый класс IDispEventImpl и IDispEventSimpleImpl, чтобы задействовать его как отдельный идентификатор модели COM, пока все еще, обеспечивая прямой доступ к членам класса в основном COM-объект. |
Реализация библиотеки ATL CE событий ActiveX только обозреватель типов тонет возвращаемые значения HRESULT или свободного пространства из методов обработчика событий; любое другое возвращаемое значение не поддерживается и его функциональности не определено.
Дополнительные сведения см. в разделе Поддержка IDispEventImpl.
Иерархия наследования
_IDispEvent
_IDispEventLocator
IDispEventImpl
Требования
Header: atlcom.h
См. также
Ссылки
Структура _ATL_FUNC_INFORMATION