Структура 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 |
Описание |
---|---|
Указывает, может ли идентификатор указанного интерфейса быть приведен к каждой из спецификаций, определенных параметрами шаблонов ChainInterface. |
|
Приводит указатель интерфейса типа, указанного в параметре шаблона I0 к указателю на интерфейс IUnknown. |
|
Хранит идентификатор интерфейса, заданный параметром шаблона I0 в указанное место в указанном массиве идентификаторов интерфейса. |
|
Проверяет, что каждый интерфейс, заданный параметрами I0 шаблона через I9 наследуется от IUnknown и/или IInspectable, и что I0 наследуется от I1 через I9. |
Защищенные константы
Name |
Описание |
---|---|
Общее число идентификаторов интерфейса, содержащихся в интерфейсах, указанных параметрами I0 шаблона через I9. |
Иерархия наследования
I0
ChainInterfaces
Требования
Заголовок: implements.h
Пространство имен: Microsoft::WRL