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


Структура ChainInterfaces

Определяет функции проверки и инициализации, которые можно применить к набору идентификаторов интерфейсов.

template <
   typename I0,
   typename I1,
   typename I2 = Details::Nil,
   typename I3 = Details::Nil,
   typename I4 = Details::Nil,
   typename I5 = Details::Nil,
   typename I6 = Details::Nil,
   typename I7 = Details::Nil,
   typename I8 = Details::Nil,
   typename I9 = Details::Nil
>
struct ChainInterfaces : I0;
template <
   typename DerivedType,
   typename BaseType,
   bool hasImplements,
   typename I1,
   typename I2,
   typename I3,
   typename I4,
   typename I5,
   typename I6,
   typename I7,
   typename I8,
   typename I9
>
struct ChainInterfaces<MixIn<DerivedType, BaseType, hasImplements>, I1, I2, I3, I4, I5, I6, I7, I8, I9>;

Параметры

  • I0
    (Обязательный) Идентификатор интерфейса 0.

  • I1
    (Обязательный) Идентификатор интерфейса 1.

  • I2
    (Необязательный). Идентификатор интерфейса 2.

  • I3
    (Необязательный). Идентификатор интерфейса 3.

  • I4
    (Необязательный). Идентификатор интерфейса 4.

  • I5
    (Необязательный). Идентификатор интерфейса 5.

  • I6
    (Необязательный). Идентификатор интерфейса 6.

  • I7
    (Необязательный). Идентификатор интерфейса 7.

  • I8
    (Необязательный). Идентификатор интерфейса 8.

  • I9
    (Необязательный). Идентификатор интерфейса 9.

  • DerivedType
    Производный тип.

  • BaseType
    Базовый тип производного типа.

  • hasImplements
    Логическое значение, если true, то нельзя использовать структуру MixIn с классом, который не является производным от структуры Implements.

Члены

Защищенные методы

Name

Описание

Метод ChainInterfaces::CanCastTo

Указывает, может ли идентификатор указанного интерфейса быть приведен к каждой из спецификаций, определенных параметрами шаблонов ChainInterface.

Метод ChainInterfaces::CastToUnknown

Приводит указатель интерфейса типа, указанного в параметре шаблона I0 к указателю на интерфейс IUnknown.

Метод ChainInterfaces::FillArrayWithIid

Хранит идентификатор интерфейса, заданный параметром шаблона I0 в указанное место в указанном массиве идентификаторов интерфейса.

Метод ChainInterfaces::Verify

Проверяет, что каждый интерфейс, заданный параметрами I0 шаблона через I9 наследуется от IUnknown и/или IInspectable, и что I0 наследуется от I1 через I9.

Защищенные константы

Name

Описание

Константа ChainInterfaces::IidCount

Общее число идентификаторов интерфейса, содержащихся в интерфейсах, указанных параметрами I0 шаблона через I9.

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

I0

ChainInterfaces

Требования

Заголовок: implements.h

Пространство имен: Microsoft::WRL

См. также

Ссылки

Пространство имен Microsoft::WRL