ActivationFactory Class
Enables one or more classes to be activated by the Windows Runtime.
Syntax
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 | Initializes the ActivationFactory class. |
Public Methods
Name | Description |
---|---|
ActivationFactory::AddRef | Increments the reference count of the current ActivationFactory object. |
ActivationFactory::GetIids | Retrieves an array of implemented interface IDs. |
ActivationFactory::GetRuntimeClassName | Gets the runtime class name of the object that the current ActivationFactory instantiates. |
ActivationFactory::GetTrustLevel | Gets the trust level of the object that the current ActivationFactory instantiates. |
ActivationFactory::QueryInterface | Retrieves a pointer to the specified interface. |
ActivationFactory::Release | 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
ActivationFactory::ActivationFactory
Initializes the ActivationFactory
class.
ActivationFactory();
ActivationFactory::AddRef
Increments the reference count of the current ActivationFactory
object.
STDMETHOD_(
ULONG,
AddRef
)();
Return Value
S_OK if successful; otherwise, an HRESULT that describes the failure.
ActivationFactory::GetIids
Retrieves an array of implemented interface IDs.
STDMETHOD(
GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parameters
iidCount
When this operation completes, the number of interface IDs in the iids array.
iids
When this operation completes, an array of implemented interface IDs.
Return Value
S_OK if successful; otherwise, an HRESULT that describes the failure. E_OUTOFMEMORY is a possible failure HRESULT.
ActivationFactory::GetRuntimeClassName
Gets the runtime class name of the object that the current ActivationFactory
instantiates.
STDMETHOD(
GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);
Parameters
runtimeName
When this operation completes, a handle to a string that contains the runtime class name of the object that the current ActivationFactory
instantiates.
Return Value
S_OK if successful; otherwise, an HRESULT that describes the failure.
ActivationFactory::GetTrustLevel
Gets the trust level of the object that the current ActivationFactory
instantiates.
STDMETHOD(
GetTrustLevel
)(_Out_ TrustLevel* trustLvl);
Parameters
trustLvl
When this operation completes, the trust level of the runtime class that the ActivationFactory
instantiates.
Return Value
S_OK if successful; otherwise, an assertion error is emitted and trustLvl is set to FullTrust
.
ActivationFactory::QueryInterface
Retrieves a pointer to the specified interface.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parameters
riid
An interface ID.
ppvObject
When this operation is complete, a pointer to the interface specified by parameter riid.
Return Value
S_OK if successful; otherwise, an HRESULT that describes the failure.
ActivationFactory::Release
Decrements the reference count of the current ActivationFactory
object.
STDMETHOD_(
ULONG,
Release
)();
Return Value
S_OK if successful; otherwise, an HRESULT that describes the failure.