Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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