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
>;
I0
The zeroth interface.
I1
The first interface.
I2
The second interface.
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>;
Name | Description |
---|---|
ActivationFactory::ActivationFactory | Initializes the ActivationFactory class. |
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. |
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Header: module.h
Namespace: Microsoft::WRL
Initializes the ActivationFactory
class.
ActivationFactory();
Increments the reference count of the current ActivationFactory
object.
STDMETHOD_(
ULONG,
AddRef
)();
S_OK if successful; otherwise, an HRESULT that describes the failure.
Retrieves an array of implemented interface IDs.
STDMETHOD(
GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
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.
S_OK if successful; otherwise, an HRESULT that describes the failure. E_OUTOFMEMORY is a possible failure HRESULT.
Gets the runtime class name of the object that the current ActivationFactory
instantiates.
STDMETHOD(
GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);
runtimeName
When this operation completes, a handle to a string that contains the runtime class name of the object that the current ActivationFactory
instantiates.
S_OK if successful; otherwise, an HRESULT that describes the failure.
Gets the trust level of the object that the current ActivationFactory
instantiates.
STDMETHOD(
GetTrustLevel
)(_Out_ TrustLevel* trustLvl);
trustLvl
When this operation completes, the trust level of the runtime class that the ActivationFactory
instantiates.
S_OK if successful; otherwise, an assertion error is emitted and trustLvl is set to FullTrust
.
Retrieves a pointer to the specified interface.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
riid
An interface ID.
ppvObject
When this operation is complete, a pointer to the interface specified by parameter riid.
S_OK if successful; otherwise, an HRESULT that describes the failure.
Decrements the reference count of the current ActivationFactory
object.
STDMETHOD_(
ULONG,
Release
)();
S_OK if successful; otherwise, an HRESULT that describes the failure.