Share via


ActivationFactory Class

Enables one or more classes to be activated by the Windows Runtime.

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>;

Parameters

  • I0
    The zeroth interface.

  • I1
    The first interface.

  • I2
    The second interface.

Remarks

ActivationFactory provides registration methods and basic functionality for the IActivationFactory interface. ActivationFactory also enables you to provide a custom factory implementation.

The following code fragment symbolically illustrates how to use 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);

The following code fragment shows how to use the Implements structure to specify more than three interface IDs.

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

Members

Public Constructors

Name

Description

ActivationFactory::ActivationFactory Constructor

Initializes the ActivationFactory class.

Public Methods

Name

Description

ActivationFactory::AddRef Method

Increments the reference count of the current ActivationFactory object.

ActivationFactory::GetIids Method

Retrieves an array of implemented interface IDs.

ActivationFactory::GetRuntimeClassName Method

Gets the runtime class name of the object that the current ActivationFactory instantiates.

ActivationFactory::GetTrustLevel Method

Gets the trust level of the object that the current ActivationFactory instantiates.

ActivationFactory::QueryInterface Method

Retrieves a pointer to the specified interface.

ActivationFactory::Release Method

Decrements the reference count of the current ActivationFactory object.

Inheritance Hierarchy

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Requirements

Header: module.h

Namespace: Microsoft::WRL

See Also

Reference

Microsoft::WRL Namespace