Classe ActivationFactory
Abilita una o più classi da attivare dal Runtime di Windows.
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>;
Parametri
I0
L'interfaccia con indice zero.I1
La prima interfaccia ID.I2
La seconda interfaccia ID.
Note
ActivationFactory fornisce metodi e le funzionalità di base di registrazione per l'interfaccia IActivationFactory.ActivationFactory consente inoltre di fornire un'implementazione personalizzata della factory.
Nel frammento di codice riportato di seguito viene illustrato come utilizzare 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);
Nel codice seguente viene illustrato come utilizzare la struttura Implementa per specificare più di tre interfacce ID.
struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Inizializza la classe ActivationFactory. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Incrementa il conteggio dei riferimenti dell'oggetto corrente di ActivationFactory. |
|
Recupera un array dell'interfaccia implementata ID. |
|
Ottiene il nome della classe runtime dell'oggetto che istanzia ActivationFactory. |
|
Ottiene il livello di attendibilità dell'oggetto che l'ActivationFactory corrente istanzia. |
|
Recupera un puntatore all'interfaccia specificata. |
|
Decrementa il conteggio dei riferimenti dell'oggetto corrente di ActivationFactory. |
Gerarchia di ereditarietà
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Requisiti
Header: module.h
Namespace: Microsoft::