Condividi tramite


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

Name Descrizione
ActivationFactory::ActivationFactory Inizializza la ActivationFactory classe .

Metodi pubblici

Name 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.