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


ActivationFactory - класс

Позволяет одному или нескольким классам быть активированными средой выполнения Windows.

Синтаксис

template <
    typename I0 = Details::Nil,
    typename I1 = Details::Nil,
    typename I2 = Details::Nil
>
class ActivationFactory :
    public Details::RuntimeClass<
        typename Details::InterfaceListHelper<
            IActivationFactory,
            I0,
            I1,
            I2,
            Details::Nil
        >::TypeT,
        RuntimeClassFlags<WinRt | InhibitWeakReference>,
        false
    >;

Параметры

I0
Интерфейс нуля.

I1
Первый интерфейс.

I2
Второй интерфейс.

Замечания

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

В следующем фрагменте кода показано, как использовать ActivationFactory.

struct MyClassFactory : public ActivationFactory<IMyAddtionalInterfaceOnFactory>
{
    STDMETHOD(ActivateInstance) (_Outptr_result_nullonfailure_ IInspectable** ppvObject)
    {
        // my custom implementation

        return S_OK;
    }
};

ActivatableClassWithFactory(MyClass, MyClassFactory);
// or if a default factory is used:
//ActivatableClassWithFactory(MyClass, SimpleActivationFactory);

В следующем фрагменте кода показано, как использовать структуру Реализации для указания более трех идентификаторов интерфейса.

struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;

Участники

Открытые конструкторы

Имя Описание
ActivationFactory::ActivationFactory Инициализирует ActivationFactory класс.

Открытые методы

Имя Описание
ActivationFactory::AddRef Увеличивает число ссылок текущего ActivationFactory объекта.
ActivationFactory::GetIids Извлекает массив идентификаторов реализованного интерфейса.
ActivationFactory::GetRuntimeClassName Возвращает имя класса среды выполнения объекта, который создает текущий ActivationFactory экземпляр.
ActivationFactory::GetTrustLevel Возвращает уровень доверия объекта, который создает текущий ActivationFactory экземпляр.
ActivationFactory::QueryInterface Извлекает указатель на указанный интерфейс.
ActivationFactory::Release Уменьшает количество ссылок текущего ActivationFactory объекта.

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

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Требования

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

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

ActivationFactory::ActivationFactory

Инициализирует ActivationFactory класс.

ActivationFactory();

ActivationFactory::AddRef

Увеличивает число ссылок текущего ActivationFactory объекта.

STDMETHOD_(
   ULONG,
   AddRef
)();

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

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

ActivationFactory::GetIids

Извлекает массив идентификаторов реализованного интерфейса.

STDMETHOD(
   GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

Параметры

iidCount
По завершении этой операции число идентификаторов интерфейса в массиве iids .

iids
После завершения операции представляет массив идентификаторов реализованного интерфейса.

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

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

ActivationFactory::GetRuntimeClassName

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

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Параметры

runtimeName
После завершения этой операции дескриптор строки, содержащей имя класса среды выполнения объекта, который создает текущий ActivationFactory экземпляр.

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

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

ActivationFactory::GetTrustLevel

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

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Параметры

trustLvl
После завершения этой операции уровень доверия класса среды выполнения, который ActivationFactory создает экземпляр.

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

S_OK в случае успешного выполнения; в противном случае возникает ошибка утверждения, а для trustLvl задано значение FullTrust.

ActivationFactory::QueryInterface

Извлекает указатель на указанный интерфейс.

STDMETHOD(
   QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);

Параметры

riid
Идентификатор интерфейса.

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

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

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

ActivationFactory::Release

Уменьшает количество ссылок текущего ActivationFactory объекта.

STDMETHOD_(
   ULONG,
   Release
)();

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

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