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 |
---|---|
Initializes the ActivationFactory class. |
Public Methods
Name |
Description |
---|---|
Increments the reference count of the current ActivationFactory object. |
|
Retrieves an array of implemented interface IDs. |
|
Gets the runtime class name of the object that the current ActivationFactory instantiates. |
|
Gets the trust level of the object that the current ActivationFactory instantiates. |
|
Retrieves a pointer to the specified interface. |
|
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