ActivationFactory (classe)
Abilita l'attivazione di una o più classi da Windows Runtime.
Sintassi
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
Interfaccia zeroth.
I1
Prima interfaccia.
I2
Seconda interfaccia.
Osservazioni:
ActivationFactory
fornisce metodi di registrazione e funzionalità di base per l'interfaccia IActivationFactory
. ActivationFactory
consente anche di fornire un'implementazione di factory personalizzata.
Il frammento di codice seguente illustra simbolicamente come usare 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);
Il frammento di codice seguente mostra come usare la struttura Implements per specificare più di tre ID di interfaccia.
struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
ActivationFactory::ActivationFactory | Inizializza la ActivationFactory classe . |
Metodi pubblici
Nome | Descrizione |
---|---|
ActivationFactory::AddRef | Incrementa il conteggio dei riferimenti dell'oggetto corrente ActivationFactory . |
ActivationFactory::GetIids | Recupera una matrice di ID di interfaccia implementati. |
ActivationFactory::GetRuntimeClassName | Ottiene il nome della classe di runtime dell'oggetto di cui viene creata un'istanza corrente ActivationFactory . |
ActivationFactory::GetTrustLevel | Ottiene il livello di attendibilità dell'oggetto di cui viene creata un'istanza corrente ActivationFactory . |
ActivationFactory::QueryInterface | Recupera un puntatore all'interfaccia specificata. |
ActivationFactory::Release | Decrementa il conteggio dei riferimenti dell'oggetto corrente ActivationFactory . |
Gerarchia di ereditarietà
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Requisiti
Intestazione: module.h
Spazio dei nomi: Microsoft::WRL
ActivationFactory::ActivationFactory
Inizializza la ActivationFactory
classe .
ActivationFactory();
ActivationFactory::AddRef
Incrementa il conteggio dei riferimenti dell'oggetto corrente ActivationFactory
.
STDMETHOD_(
ULONG,
AddRef
)();
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.
ActivationFactory::GetIids
Recupera una matrice di ID di interfaccia implementati.
STDMETHOD(
GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parametri
iidCount
Al termine di questa operazione, il numero di ID di interfaccia nella matrice iids .
iids
Al termine di questa operazione, una matrice di ID di interfaccia implementati.
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore. E_OUTOFMEMORY è un possibile HRESULT di errore.
ActivationFactory::GetRuntimeClassName
Ottiene il nome della classe di runtime dell'oggetto di cui viene creata un'istanza corrente ActivationFactory
.
STDMETHOD(
GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);
Parametri
runtimeName
Al termine di questa operazione, un handle per una stringa contenente il nome della classe di runtime dell'oggetto di cui viene creata un'istanza corrente ActivationFactory
.
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.
ActivationFactory::GetTrustLevel
Ottiene il livello di attendibilità dell'oggetto di cui viene creata un'istanza corrente ActivationFactory
.
STDMETHOD(
GetTrustLevel
)(_Out_ TrustLevel* trustLvl);
Parametri
trustLvl
Al termine di questa operazione, il livello di attendibilità della classe di runtime di cui viene creata un'istanza ActivationFactory
.
Valore restituito
S_OK se ha esito positivo; in caso contrario, viene generato un errore di asserzione e trustLvl è impostato su FullTrust
.
ActivationFactory::QueryInterface
Recupera un puntatore all'interfaccia specificata.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametri
riid
ID di interfaccia.
ppvObject
Al termine dell'operazione, un puntatore all'interfaccia specificata dal parametro riid.
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.
ActivationFactory::Release
Decrementa il conteggio dei riferimenti dell'oggetto corrente ActivationFactory
.
STDMETHOD_(
ULONG,
Release
)();
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.