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


ImplementsHelper - структура

Поддерживает инфраструктуру WRL и не предназначена для использования непосредственно из кода.

Синтаксис

template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;

Параметры

RuntimeClassFlagsT
Поле флагов, указывающее один или несколько перечислителей RuntimeClassType .

ILst
Список идентификаторов интерфейса.

IsDelegateToClass
Укажитеtrue, является ли текущий экземпляр Implements базовым классом первого идентификатора интерфейса в ILst; в противном случае false.

Замечания

Помогает реализовать структуру Реализации .

Этот шаблон проходит по списку интерфейсов и добавляет их в качестве базовых классов, а также в соответствии с информацией, необходимой для включения QueryInterface.

Участники

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

Имя Описание
РеализацияHelper::CanCastTo Возвращает указатель на указанный идентификатор интерфейса.
РеализацияHelper::CastToUnknown Возвращает указатель на базовый IUnknown интерфейс для текущей Implements структуры.
РеализацияHelper::FillArrayWithIid Вставляет идентификатор интерфейса, указанный текущим параметром шаблона нуля, в указанный элемент массива.
РеализацияHelper::IidCount Содержит количество реализованных идентификаторов интерфейса в текущем Implements объекте.

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

ImplementsHelper

Требования

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

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

РеализацияHelper::CanCastTo

Поддерживает инфраструктуру WRL и не предназначена для использования непосредственно из кода.

HRESULT CanCastTo(
   REFIID riid,
   _Deref_out_ void **ppv
);

HRESULT CanCastTo(
   _In_ const IID &iid,
   _Deref_out_ void **ppv
);

Параметры

riid
Ссылка на идентификатор интерфейса.

Ppv
Если эта операция выполнена успешно, указатель на интерфейс, указанный riid или iid.

Iid
Ссылка на идентификатор интерфейса.

Возвращаемое значение

Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, указывающее на ошибку.

Замечания

Возвращает указатель на указанный идентификатор интерфейса.

РеализацияHelper::CastToUnknown

Поддерживает инфраструктуру WRL и не предназначена для использования непосредственно из кода.

IUnknown* CastToUnknown();

Возвращаемое значение

Указатель на базовый IUnknown интерфейс.

Замечания

Возвращает указатель на базовый IUnknown интерфейс для текущей Implements структуры.

РеализацияHelper::FillArrayWithIid

Поддерживает инфраструктуру WRL и не предназначена для использования непосредственно из кода.

void FillArrayWithIid(
   _Inout_ unsigned long *index,
   _Inout_ IID* iids) throw();

Параметры

index
Отсчитываемый от нуля индекс, указывающий начальный элемент массива для этой операции. По завершении этой операции индекс увеличивается на 1.

iids
Массив iiD типов.

Замечания

Вставляет идентификатор интерфейса, указанный текущим параметром шаблона нуля, в указанный элемент массива.

РеализацияHelper::IidCount

Поддерживает инфраструктуру WRL и не предназначена для использования непосредственно из кода.

static const unsigned long IidCount;

Замечания

Содержит количество реализованных идентификаторов интерфейса в текущем Implements объекте.