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


Класс IDispatchImpl

Предоставляет реализацию по умолчанию для части IDispatch повторяющегося интерфейса.

Важное примечаниеВажно

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

template<
   class T,
   const IID* piid= &__uuidof(T),
   const GUID* plibid = &CAtlModule::m_libid,
   WORD wMajor = 1,
   WORD wMinor = 0,
   class tihclass = CComTypeInfoHolder 
> 
class ATL_NO_VTABLE IDispatchImpl :
   public T

Параметры

  • [входящий] T
    Сдвоенный интерфейс.

  • [входящий] piid
    Указатель на идентификатор IID T.

  • [входящий] plibid
    Указатель на идентификатор LIBID библиотеки типов, содержащий сведения об интерфейсе.По умолчанию на уровне сервера библиотеки типов при передаче.

  • [входящий] wMajor
    Основной номер версии библиотеки типов.По умолчанию значение равно 1.

  • [входящий] wMinor
    Дополнительный номер версии библиотеки типов.По умолчанию значение равно 0.

  • [входящий] tihclass
    Класс, используемый для управления сведения о типе для T.Значение по умолчанию — CComTypeInfoHolder.

Члены

494h01te.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

IDispatchImpl::IDispatchImpl

Конструктор.Вызывает AddRef в защищенной переменной члена, которая управляет сведения о типе для двойного интерфейса.Деструктор вызывается Release.

494h01te.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

IDispatchImpl::GetIDsOfNames

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

IDispatchImpl::GetTypeInfo

Возвращает сведения о типе повторяющегося интерфейса.

IDispatchImpl::GetTypeInfoCount

Определяет, является ли доступным сведений о типе для двойного интерфейса.

IDispatchImpl::Invoke

Предоставляет доступ к методам и свойствам со схожими именами, предоставляемым интерфейсом double.

Заметки

IDispatchImpl предоставляет реализацию по умолчанию для части IDispatch любого повторяющегося интерфейса на объект.Сдвоенный интерфейс является производным от IDispatch и использует только типы Автоматизация- совместимости.Например, диспетчерский интерфейс, сдвоенный интерфейс поддерживает раннее связывание и позднее связывание; однако сдвоенный интерфейс поддерживает также привязку vtable.

В следующем примере показана типичная реализация метода IDispatchImpl:

class ATL_NO_VTABLE CBeeper :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CBeeper, &CLSID_Beeper>,
   public IDispatchImpl<IBeeper, &IID_IBeeper, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>

По умолчанию класс IDispatchImpl ищет сведения о типе для T в реестре.Для реализации незарегистрированный интерфейс можно использовать класс IDispatchImpl без обращения к реестру с помощью предопределенного номера версии.При создании объекта, IDispatchImpl, имеющий 0xFFFF в качестве значения для wMajor и 0xFFFF в качестве значения для wMinor, класс IDispatchImpl извлекает библиотеку типов из dll-файла вместо реестра.

IDispatchImpl содержащий статический член типа CComTypeInfoHolder, который управляет сведения о типе для двойного интерфейса.Если имеется несколько объектов, которые реализуют один и тот же сдвоенный интерфейс существует только один экземпляр CComTypeInfoHolder используется.

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

T

IDispatchImpl

Требования

заголовок: atlcom.h

См. также

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

Общие сведения о классе библиотеки ATL